私はC#でリフレクションを使用する必要があり、Type
というオブジェクトがあることがわかりますが、JavaのClass
のように動作します。以下のJavaコードのようなタイプまたはサブタイプ:C#で "Class <?extends MyClass>"のようにするには
public class Test{
class Test2 extends Test { }
public static void doSomething(Class<? extends Test> myClass){
//doSomething with class...
}
public static void main(String[] args){
doSomething(Test2.class); //ok
doSomething(String.class); //error
}
}
+1が、これらの恐ろしいかっこを修正! –
私はジェネリックについても考えていましたが、反射部分とのリンクが見えません –
ジェネリックと反射に関するものですが、私は明確にするためにメインポストを編集します。 このようにして、 'Type type = myclass.getType()'のようなことをする必要があります。 –