3
I(WPF、.NET 4)、C#1からVB.NETにいくつかのコードを変換Operator =は、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 - NOT(?)で定義されているのですか?
は、C#で演算子が定義されている方法
childElement.Equals(element)
が、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