私は、インターフェイスを持たないサードパーティのいくつかのクラスのラッパークラスを持っています。これをC#コードのかなりSOLIDブロックで参照する必要があります。Ninject&C#でオブジェクトをラッパーオブジェクトに変換するには?
現在、インスタンスをラッパーインスタンスに変換する静的関数があります。
例コード。
class A
{
public string Name;
}
interface IAWrapper
{
string Name { get; set; }
}
class AWrapper : IAWrapper
{
private A Instance;
public AWrapper(A instance)
{
Instance = instance;
}
public string Name
{
get
{
return Instance.Name;
}
set
{
Instance.Name = value;
}
}
}
私はwrapped
がAWrapper
のインスタンスになります、そしてそれはInstance
んNinjectのためa
はこれを行う方法を持って渡された
var a = new A() {Name = "bob"};
var wrapped = kernel.wrap<IAWrapper>(a);
のような機能をしたいですか?ラッパークラスのインターフェイス、ラップするインスタンス、およびラップされたクラスを取得するには?
(私の謝罪が、私はこれを聞いてはるかに明確な方法があると確信しているが、私はそれをよりよく依頼する方法を知っていたならば、私も答えを知っているかもしれません。:))
これにはNinjectは必要ありません。あなたは単に 'new AWrapper(new A {Name =" bob "})'を呼び出すことができます。 – Steven