我想要的是通过索引或通过一些更好的方式“动态”访问类内泛型类的方法。 “动态地”因为在这个主类中不仅会有两个泛型类,所以我想要一种简单的方法来访问泛型类的方法,因为一直调用所有方法会让人筋疲力尽。 这是课程和我已经尝试过的:
public class ListOfPowerClass
{
public PowerClass<SomePowerClassOne> PowerOne = new PowerClass<SomePowerClassOne>(new SomePowerClassOne(),false);
public PowerClass<SomePowerClassTwo> PowerTwo = new PowerClass<SomePowerClassTwo>(new SomePowerClassTwo(),false);
.....
public PowerClass<SomePowerClassn> PowerN = new PowerClass<SomePowerClassn>(new SomePowerClassn(),false);
public class PowerClass<T> where T : class
{
public bool I_Have;
public T Power;
public PowerClass(T _Power,bool _active)
{
Power = _Power;
active = _active;
}
}
}
这是每个类中的方法。
public class SomePowerClassOne
{
///Some methods
}
public class SomePowerClassTwo
{
///Some methods
}
这就是我想要做的:
public int index; //This index will change and I will access different classes.
public ListOfPowerClass PowerList = new ListOfPowerClass();
PowerList[index].Print(); ///index = 0,I will access class PowerOne
PowerList[index].Print(); ///index = 1,I will access class PowerTwo
PowerList[index].Print(); ///index = 2,I will access class PowerThree and so on
我在谷歌上搜索并发现了索引器([int index]),但我现在不知道为什么我不能应用到“ListOfPowerClass”类或任何如下所示的方法,因为它只是抛出一个语法错误.:
public class ListOfPowerClass [int index]
public T ReturnClass<T>(int index) [int index]
public class PowerClass<T> where T : class [int index]
而且我还发现了反射,但老实说,我对我阅读的任何内容都不了解,也不知道如何使其与我的代码一起工作。