当我不知道班级名称时,如何调用班级成员,然后使用(设置值)?
为了更好地理解,让我显示示例,我的意思是:
例如我上课:
static class ClassA {
public static string Property1;
public static bool Property2;
public static async Task<bool> Method () {
// ...
await Worker.Do();
return true;
}
}
static class Worked {
public static async Task<bool> Do() {
// ...
var CallerClassName = new StackTrace().GetFrame(1).GetMethod().ReflectedType.Name;
// setup value for caller class Property 1 = "test";
// Like ClassA.Property1 = "test"; but using dynamic name;
// setup value for caller class Property 2 = true;
// Like ClassA.Property2 = true; but using dynamic name;
}
}
我应该说,我知道这些属性存在于Caller类中,如果我不知道其类调用者名称,我将不知道如何动态设置它们的名称。我也应该说所有这些方法,属性和类都是静态的。
感谢帮助!
不要这样 | 您的类不应是静态的。如果它们具有相同的方法/属性,则应从相同的接口继承。
如果您真的坚持可以使用反射,请使用反射设置对象属性
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句