知っている/アクセスできる人のために、サードパーティのAPI dllであるブルームバーグSAPIを使用しています。
これが私の問題です:
[ComVisible(true)]
public interface IDisposable
{ //this is from mscorlib 2.0.0.0 - standard System.IDisposable
void Dispose();
}
public abstract class AbstractSession : IDisposable {}//method signatures and comments
public class Session : AbstractSession {} //method signatures and comments (from assembly metadata)
上記はすべて、VS2010 の F12 / 定義に移動 / オブジェクト ブラウザからのものです。今、私がこのコードを使用しようとすると:
(new Session()).Dispose();
これはコンパイルされません... 標準コンパイラ エラー - 定義/拡張メソッド 'Dispose' が見つかりませんでした。
これはどのように可能ですか?彼らはアセンブリを作成し、そのメタデータを明示的に編集しましたか?
public メソッドを非表示にする (除外する) ことが法的に可能かどうかはわかりません....