在构造函数中使用自定义属性 - C#

1 c# reflection

我想要访问类中Field的自定义属性.我想在字段构造函数中访问放置在字段上的属性.这可能吗?

编辑06/28/09类似下面的伪代码

class SpecialInt

{

int _intVal; 
int _maxVal; 
public SpecialInt() 
{ 
    //Get attribute for the instantiated specialint 
    _maxVal = GetAttribute("MaxValue") 
Run Code Online (Sandbox Code Playgroud)

} }

class main()

{

[MaxValue(100)] 
SpecialInt sInt; 
public main() 
{ 
    sInt = new SpecialInt() 
} 
Run Code Online (Sandbox Code Playgroud)

}

class SpecialInt

{

int _intVal; 
int _maxVal; 
public SpecialInt() 
{ 
    //Get attribute for the instantiated specialint 
    _maxVal = GetAttribute("MaxValue") 
Run Code Online (Sandbox Code Playgroud)

} }

class main()

{

[MaxValue(100)] 
SpecialInt sInt; 
public main() 
{ 
    sInt = new SpecialInt() 
} 
Run Code Online (Sandbox Code Playgroud)

}

class SpecialInt

{

int _intVal; 
int _maxVal; 
public SpecialInt() 
{ 
    //Get attribute for the instantiated specialint 
    _maxVal = GetAttribute("MaxValue") 
Run Code Online (Sandbox Code Playgroud)

} }

class main()

{

[MaxValue(100)] 
SpecialInt sInt; 
public main() 
{ 
    sInt = new SpecialInt() 
} 
Run Code Online (Sandbox Code Playgroud)

}

Jar*_*Par 6

当然这是可能的.属性存储在元数据中,在构造对象时可以轻松访问.

public class Foo { 
  [Something]
  public int Field1;

  public Foo() {
    FieldInfo fi = typeof(Foo).GetField("Field1");
    SomethingAttribute si = (SomethingAttribute)fi.GetCustomAttribute(typeof(SomethingAttribute),false)[0];
    // grab any Custom attribute off of Fiield1 here
  }
}
Run Code Online (Sandbox Code Playgroud)