ことではないインデックスIは、クラスKeyedCollectionはint型
public class FooKeyedCollection : KeyedCollection<FooType,Foo>
{
}
public enum FooType
{
FooType1,
FooType2,
FooType3
}
public Foo
{
public FooType Type { get; set; }
public string Value { get; set; }
}
私はFooKeyedCollectionに項目を追加すると、私はFooTypeによって、インデックス、それらをすることができますが、私は彼らがint型のインデックスしようとすると、INTがあるがありますFooType列挙型と解釈されます。その結果、即ち
public static void main()
{
FooKeyedCollection fkc = new FooKeyedCollection();
Foo myFoo = new Foo();
myFoo.Type = FooType.FooType3;
myFoo.Value = "someValue";
foo.Add(myFoo);
Foo myFooByType = foo[FooType.FooType3];
Foo myFooByIndex = foo[0]; // <-- exception thrown here
}
、混乱エラーにつながる整数インデックスでアイテムを取得しようとすると、このコードの実行結果は、例外です。私は公開APIの一部としてFooKeyedCollectionを公開したいと思います。このAPIのコンシューマをこのエラーから保護したいと思います。適切な動作を得るためにFooKeyedCollectionクラスを変更できる方法はありますか?
これはチャンピオンのように機能しました、ありがとう! – JadeMason