如何将变量的类型放入方法参数中,因为某些东西是由类变量定义的?例如:
class MyClass {
private Type _type;
public MyClass(Type type) {
_type = type;
}
public void SomeMethod(_type param) { //... }
public _type OtherMethod() {}
}
所以,我的想法是,我可以将动态类型设置为类中的变量,并将该Type
变量用作其他对象的类型。
是否可以在 C# 中执行此操作?
编辑:
我决定让我的问题更清楚,并解释我为什么要求这样的功能。我试过泛型。然而,泛型的问题在于,每次引用该类的对象时,我都必须声明该类的类型,例如:MyClass<TSomeType> param
在我的场景中,我有一个List<MyClass> dataList
包含MyClass
. 如果我在 MyClass 上有一个泛型,那么 dataList 必须是List<MyClass<TSomeType>>
. 在这种情况下,我被卡住了,因为列表只能包含MyClass<TSomeType>
. 一旦我为整个班级声明了类型,我就不能拥有其他类型的类型。这就是为什么我想知道是否有更动态的方式来声明一个类型,就像我可以将一个类的类型存储到一个变量中,然后像一个类类型一样使用这个变量。