using Hash = System.Collections.Generic.Dictionary <System.Type, PseudoDIContainer.Ctor>;
public sealed class PseudoDIContainer {
public delegate object Ctor (object [] argv);
private static readonly Hash theHash = new Hash ();
static PseudoDIContainer () { }
private PseudoDIContainer () { }
public static T Get<T> (params object [] argv) where T : class {
return theHash [typeof (T)] (argv) as T;
}
public static Ctor Inject<T> (Ctor c) where T : class {
return theHash [typeof (T)] = c;
}
}このクラスはこれで完成のつもりなのですけれども、ここまで書いてちょっとこれがクラスである意義のようなものを見失ってしまっています。このクラスにはインスタンスがなく、静的メンバ変数を操作しているだけです。設計として違和感があるのですが、C#においてはこのような場合はどうすべきなのでしょうか。
