3
я перевожу с C# код в VB.NET, (WPF, .NET 4)Оператор = не определен для типов UIElement и UIElement ..?
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 (авто-перевод)
' 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)
Ошибка компиляции:
Error 4 Operator '=' is not defined for types 'System.Windows.UIElement' and 'System.Windows.UIElement'.
Как возможно, что в C# задан оператор, но в VB.NET - НЕ (?)
Как в C# определен оператор, но в VB - не ..? – serhio
Прочитайте это (http://www.codeproject.com/Articles/18714/Comparing-Values-for-Equality-in-NET-Identity-and); в конце статьи обсуждается равенство в vb.net. – Dave
Я не думаю, что это действительно отвечает на вопрос OP. Я думаю, что OP хочет знать, почему ** оператор = не работает в VB.Net, а не как исправить код. И статья гласит: «У VB.NET нет оператора == или любого оператора, эквивалентного ему». без какого-либо объяснения, которое, по крайней мере, неполное, так как существует оператор =, который может быть перегружен. – ken2k