MethodImplAttributeのように、プログラムの動作に影響を与えるカスタム属性は作れますか?
MethodImpl
属性の、Synchronized
等のオプションを指定するとメソッド自体が排他ロックされるわけですが、こういった属性を加える事でメソッド自体に影響を与えるカスタム属性はどのようにしたら作れますか?
それから、属性を与えることで戻り値を操作することは出来ますか?
例)
[Increment(+5)]
public void Method(int i) {
return i;
}
public void Main() {
int j = Method(3);
// j == 8 :: true
}