我有一個自定義屬性,我希望它有一個屬性的名稱作爲輸入。因爲這個名字是一個字符串,所以它是一個有效的輸入類型(因爲屬性對於它們的構造函數可以有什麼輸入是非常有限的)。 但我怎麼能做到這一點?作爲輸入屬性構造函數的屬性名稱
拿這個例子代碼:
public class MyCustomAttribute : Attribute {
public MyCustomAttribute(string propertyName) {}
}
public class Foo {
public bool MyCustomProperty { get; set; }
[MyCustom(SomeMagicAppliedToMyCustomProperty)] // I want the attribute to receive something along the lines of "Foo.MyCustomProperty"
public void Bar();
}
我怎樣才能做到這一點與限制到什麼屬性可以在其構造函數接收?
你是說你想傳遞property_的_name而不是硬編碼字符串,或者你是否試圖傳入存儲在property_中的_value(這不會發生,因爲這是編譯時的事情) –
爲什麼不只是在方法上做魔術? – danish
@JamesThorpe我想傳遞property_的_name而不用硬編碼字符串。 – GTHvidsten