0

私はそうは思いませんが、私が諦めて方法を使う前に:

public T this<T>[String index]
{
    get{
        //return stuff
    }
}

クラスに型パラメータがありません。取得したいものに基づいて、別のタイプを返したいだけです。

例えば:

myObject<String>["SavedString"]

そのための構文はありますか?(もちろん、上記のコードをコンパイルすることはできません。)

4

2 に答える 2

3

いいえ、プロパティをC#でジェネリックにすることはできません。また、イベント、コンストラクター、変数、演算子、またはファイナライザーも使用できません。

基本的にジェネリック型とジェネリックメソッドがあり、それだけです。

于 2011-04-29T18:45:40.677 に答える
1

プロパティを一般化することはできないため、取得する最も近い方法は、次のようにすることです。

public class SomeClass
{
    public T GetValue<T>( string key ) 
    {
         // implement logic here
    }
}
于 2011-04-29T18:56:39.760 に答える