c# – 将Class的实例作为参数传递给Attribute构造函数

前端之家收集整理的这篇文章主要介绍了c# – 将Class的实例作为参数传递给Attribute构造函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要一个class / model的实例(用于访问非静态成员)在我的自定义属性中.
public class LoginModel
{
     [AutoComplete(currentInstance)]  //pass instance of class or CompanyNames
     public string DepartmentName { get; set; }


     public string[] DepartmentNames { get {...} }
}

有没有办法这样做,而不使用new()或Reflection.

解决方法

这是完全不可能的属性在编译时被编入程序集的元数据,所以谈论将类的实例传递给一个属性没有任何意义,因为实例只存在于运行时.

另一方面,属性总是被反射消耗,所以我猜当时你正在检查这个自定义属性在类元数据上的存在,你可以使用该实例.

猜你在找的C#相关文章