是否可以在属性上放置一个属性来拦截对该属性的赋值调用?
我将如何使用它的一个示例是,当用户分配string.Empty
时,使其具有此属性的字符串属性将设置为null
。
我确信这样的事情有很多其他可能用途,但目前这正是我正在寻找的。 p>
编辑:
例如:
class A
{
[NotNullableString]
public string SomeString { get; set; }
}
而NotNullableStringAttribute
会检查set
的输入值,如果为空,则将其替换为string.Empty
。
答案 0 :(得分:2)
如果您想使用C#属性执行此操作,则需要使用IL编织。
最受欢迎的图书馆是PostSharp:http://ayende.com/blog/3640/first-steps-with-post-sharp快递版是免费的:http://www.postsharp.net/aspects
答案 1 :(得分:0)
如果您坚持在工作流程中没有构建后步骤并且您可以使用属性,那么答案是它目前无法实现。