c#从其他类和方法中按动态名称调用类成员(属性,方法等)

y

当我不知道班级名称时,如何调用班级成员,然后使用(设置值)?

为了更好地理解,让我显示示例,我的意思是:

例如我上课:

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章