If I have a class like this
[Attr("Blah",
Data = "Blah")]
public class Test : SuperClass{}
Is there a way I can change the values of the attribute of an instance of the class at runtime? eg in pseudo code
SuperClass test = new Test();
test.Attr.Value = "blah1";
test.Attr.Data = "blah2";
(I have an instance of the class I want to change the attributes on, cast as a class it extends)
There is no implicit connection between attributes and objects instances. Only between the class and the attribute. The best bet would be to look for the attribute in the constructor and "cache" the values in properties on the object. Of course that doesn't make sense if you are only looking at the Test
class, but it does make sense if the constructor of the SuperClass
looks for the custom attributes on the type retrieved with "this.GetType()".
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With