Is there a way to intercept setters and getters in C#?

前端 未结 11 1449
旧时难觅i
旧时难觅i 2021-01-03 18:15

In both Ruby and PHP (and I guess other languages as well) there are some utility methods that are called whenever a property is set. ( *instance_variable_set*

11条回答
  •  情书的邮戳
    2021-01-03 19:16

    Not generally; a few options though;

    • inherit from ContextBoundObject - which does allow this, but at a performance cost
    • write an explicit property (i.e. with a backing field), and add a utility method call manually
    • look at compile-time weavers, such as PostSharp - generally by spotting an attribute or similar
    • look at runtime code generators, as offered by some DI/IoC tools (and some other "decorator" based tools) - which either decorate or subclass your object to add the extra code

提交回复
热议问题