UIElement和UIElement之间的运算符=未定义..?

3

我将一些C#代码翻译为VB.NET(WPF,.NET 4)。

C#

// Update the Z-Index of every UIElement in the Canvas.
foreach( UIElement childElement in base.Children )
{
    if( childElement == element )
        Canvas.SetZIndex( element, elementNewZIndex );

VB.NET (auto-translated)

' Update the Z-Index of every UIElement in the Canvas. '
For Each childElement As UIElement In MyBase.Children
  If childElement = element Then        ' <<<<<<<<<<<<< Compile ERROR '
    Canvas.SetZIndex(element, elementNewZIndex)

编译错误:

错误 4 运算符“=”未为类型“System.Windows.UIElement”和“System.Windows.UIElement”定义。

在C#中该运算符已定义,但在VB.NET中却没有(?)

1个回答

1

尝试使用childElement.Equals(element)代替


在C#中定义了运算符,但在VB中没有定义...? - serhio
2
请阅读此文章(http://www.codeproject.com/Articles/18714/Comparing-Values-for-Equality-in-NET-Identity-and);文章末尾讨论了vb.net中的相等性。 - Dave
2
我认为这并不真正回答了提问者的问题。我认为提问者想知道为什么在VB.Net中"="运算符不起作用,而不是如何修复代码。而且这篇文章说"VB.NET没有==运算符,也没有任何等同于它的运算符",没有任何解释,至少是不完整的,因为可以重载"="运算符。 - ken2k
1
我同意ken2k的观点... 顺便问一下,还有另一个选项 childElement Is element ...? - serhio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接