0

Configというクラスがあり、宣言があります public class Config<T> where T : class, new()

Tタイプの構成と実際の構成をと呼ばれるプロパティに保存するためのいくつかのメソッドが含まれていますConfiguration

プロパティTを経由せずに、Configクラスでタイプの構成を直接公開することは可能ですか?Configuration

これまでのところ、私は少し醜い回避策を持っています

public T this[int index]
{
    get { return _configuration; }
}

そうでない場合は、から継承することで実行できるかどうか疑問に思っていましたがT、これを実行する方法の構文がわかりません。

編集:
私はあなたが次のようなことをすることができると想像しました

public T this
{
    get { return _configuration; }
}
4

2 に答える 2

2

暗黙の演算子を使用できます:

class Config<T> where T: class, new()
{
  private T _configuration;

  public static implicit operator T(Config cfg)
  {
    return cfg._configuration;
  }
}

そのようにそれを使用してください:

var config = new Config<SomeClass>();
SomeClass realConfig = config;
于 2012-08-01T14:44:23.240 に答える
1

演算子を使用してください...。

public static implicit operator T(Config<T> source) {
   return source.Configuration;
}

それで

MyClass x=new Config<MyClass>();
于 2012-08-01T14:46:18.977 に答える