有什么样的事情,你用在现实世界中自定义.NET属性?
What kind of things have you used custom .NET attributes for in the real world?
我读过关于他们的文章,但我从来没有使用自定义属性。
I've read several articles about them, but I have never used custom attributes.
我觉得我可能会俯瞰他们时,他们可能是有用的。
I feel like I might be overlooking them when they could be useful.
我说的是你创建的属性,而不是那些已经包含在框架中。
I am talking about attributes that you create, not ones that are already included in the framework.
推荐答案
我用他们的自定义属性进行验证(即标记字段与我自己的信用卡验证进行验证)和自定义LinqToLucene分析仪我已经写了(即指定哪些分析仪在特定领域使用)。
I've used them "custom" attributes for validation (ie. marking a field to be validated with my own "credit card validation") and custom LinqToLucene analyzers I've written (ie. specifying which analyzer to use on a given field).
验证code,例如,将是这个样子:
The validation code, for example, would look something like this:
public class Customer
{
[CreditCardValidator]
string creditCardNumber;
[AddressValidator]
string addressLineOne
}
在上面的对象进行验证,每个域的验证与相应的验证多亏了自定义属性。
When the object above is validated, each field is validated with the appropriate validator thanks to the "custom" attribute.
在LinqToLucene的东西,我已经写了自定义属性都不错,因为他们让你找到(通过反射)在运行时的具体领域。例如,如果你有一个客户对象,你可能有兴趣在得到所有被标记为属性指标我:一个自定义的属性可以让你做到这一点很容易,因为它暴露了有关的方式对象的元数据很容易地查询。
In the LinqToLucene stuff I've written custom attributes are nice because they allow you to find (through reflection) specific fields at run time. For example, if you have a customer object, you may be interested in getting all the properties that have been marked as "index me": a custom attribute lets you do this easily since it exposes meta-data about the object in a manner that is easy to query.
相关推荐
最新文章