2017-12-30 17 views
-3

typeofや初期化を使わずに引数としてClassAを渡すことは可能ですか?関数の引数としてクラス名を渡します。

class ClassA { 
} 

class ClassB { 
    public void Function([something here] clazz) { 
        ...... 
    } 
} 

class ClassC { 

    public void main() { 
     ClassB asdf = new ClassB(); 
     asdf.Function(ClassA); // pass like that, not typeof() or something else 
    } 
} 
+3

私はあなたがXYに問題がある可能性があります疑い... –

+1

class ClassA { } class ClassB { public void Function<T>() { ...... } class ClassC { public void main() { ClassB asdf = new ClassB(); asdf.Function<ClassA>(); // magic } } 

この種のものは、IoCコンテナとautofactoriesと非常に一般的ですか? – Jasen

+0

あなたの要求が 'asdf.Function(ClassA);'を正しく実行し、 "typeof()または何か他のもの"ではないなら、それは不可能です。 – Blorgbeard

答えて

1

はい、タイプを汎用パラメータとして渡すことができます。 ClassAを使用してその機能をどのように

var o = container.Resolve<SomeClassName>(); 
関連する問題