0

私はMVCプロジェクトに取り組んでいるので、コントローラーコンストラクターで、GetServiceNameサービス名を返すクラス()の1つを呼び出していますstring(サービスは、すべてのメソッドがコントローラーによって呼び出される別のクラスです)。

  1. 1つのオプションは、クラスGetServiceNameがサービス名を返し、それを初期化することです(方法がわからない)

  2. 私は自分のGetServiceNameクラス でこのようなことをしています

    ObjectHandle oh;
    oh = Activator.CreateInstance(null, ClassName);
    return oh;
    

oh、私はコントローラーでオブジェクトとして取得しますが、コントローラーでそれを次のように初期化する方法-

oh _name = new oh();

( ohGetServiceName クラスによって返される ObjectHandle はここにあります)

getnameがメソッド名である場合、それぞれのサービス_nameとして使用できるはずです。_name.getName(id)

これに関連するstackoverflowに関する質問がたくさんあることは知っていますが、それらのいずれかを使用してコードを機能させることはできません

4

1 に答える 1

0

クラス インスタンスを作成したら、ハンドルからオブジェクト自体を取得する必要があります。

ObjectHandle oh = Activator.CreateInstance(null, "typeName");
object instance = oh.Unwrap();
于 2013-09-06T10:29:37.713 に答える