【发布时间】:2014-12-20 09:34:09
【问题描述】:
我写了一个有属性的函数。我想将一些数据传递给它的属性,它使用这些数据来做一些工作。
[System.AttributeUsage(System.AttributeTargets.Method)]
public class CheckXAttribute : Attribute
{
public CheckXAttribute(int data1, bool data2, byte[] data3)
{
someWork(data1, data2, data3);
}
}
其中一些数据是在编码时间中指定的。但其中之一将在运行时指定。我想将此数据传递给我的方法,然后在方法的属性中使用此数据。
[CheckX(5, true, data3)]
void myMethod(byte[] data3){
// Some Work
}
...
byte[] data = ...;
myMethod(data);
有可能吗?还是有其他方法可以达到我的目标???
或者... 有没有办法将数据发送到包含 myMethod 的类,然后在方法的属性中使用这些数据?像这样。
byte[] data = ...;
MyClass myClass = new MyClass(data);
myClass.myMethod();
...
class MyClass {
public byte[] savedData;
public MyClass(data)
{
this.savedData = data;
}
[CheckX(5, true, savedData)]
void myMethod(){
// Some Work
}
}
【问题讨论】:
标签: c# class methods attributes