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

Rob*_*ben 15 .net c# asp.net asp.net-mvc attributes

我需要一个自定义属性中的类/模型实例(用于访问非静态成员).

public class LoginModel
{
     [AutoComplete(currentInstance)]  //pass instance of class or CompanyNames
     public string DepartmentName { get; set; }


     public string[] DepartmentNames { get {...} }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在不使用new()或反射的情况下执行此操作.

Dar*_*rov 16

那是完全不可能的.在编译时将属性烘焙到程序集的元数据中,因此讨论将实例传递给属性没有任何意义,因为实例仅在运行时存在.

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

  • 这就是总限制,这是我到目前为止遇到的最大的c#/。NET限制之一。非常失望。 (2认同)