0

TFS API のクラスの 1 つで、言語の定義を壊しているように見える非常に奇妙な動作に気付きました。

私はそれを模倣しようとしましたが、成功しませんでした。コレクションを実装しようとしましたが、WorkitemCollectionクラスで行われたように、クラスを使用する人にインデクサー セッターを呼び出させませんでした。実行時ではなく完了時にエラーが表示されることが重要であるため、例外は無効です。WorkitemCollection は、コレクションを実装している IReadOnlyList を実装しています。定義により、コレクションには Index Public Get And Set があります。それでも、このコードはコンパイル エラーを返しています。

WorkitemCollection wic=GetWorkitemCollection();
wic[0]=null;

なぜこうなった?前もって感謝します。

4

2 に答える 2

2

インターフェイスを明示的に実装できます。

int IReadOnlyList.Index
{
    get;
    set;
}

Indexこの方法では、最初にオブジェクトをキャストせずに呼び出すことはできません:

((IReadOnlyList)myObj).Index

C# インターフェイスを参照してください。暗黙的な実装と明示的な実装

于 2013-09-17T10:20:13.120 に答える