WinMD形式で出力されるC#Metro DLLを作成する際に、パブリッククラスがありId
ます。をオーバーライドしますがEquals
、オーバーロードすることはできません==
。
ただし、これと同じクラスがDLLの内部で使用されており、必然的にLINQを使用して、.Where(x => x.Id == Ids.House)
明らかに機能しない書き込みを行っています。
考えられる解決策の1つは、を定義し、IdInternal
それをオーバーライド==
して、を内部でラップできるようにすることId
です。
その解決策が整っていないと(いくつかのクラスで発生する必要があると思います)、コンパイル/ランタイムエラーを介して開発者にこのクラスに==を使用してはならないことを警告する方法はありますか?