-1
.NET参照ソースを参照しているうちに、https://referencesource.microsoft.com/#mscorlib/system/delegate.cs,196からコピーされた次のコードが見つかりました。.NET Delegate奇妙な最適化
public static Delegate Combine(Delegate a, Delegate b)
{
if ((Object)a == null) // cast to object for a more efficient test
return b;
return a.CombineImpl(b);
}
キャストが(Object)
であることに注意してください。この理由は、Delegate
の==
オペレータオーバーライドを使用するのではなく、Object
のオペレーションオーバーライドを使用することを前提としているからです。しかし、Object
のコードをブラウズすると、==
の定義が見つかりません。
質問は次のようになります。それはそれの挙動何、定義されてObject
、上
==
? docsから
[This(https://stackoverflow.com/a/7346086/3181933)? – john