我看到了一些有用属性的例子,例如(作为动态工厂的地图) http://msdn.microsoft.com/en-us/magazine/cc164170.aspx
只是想知道使用属性有什么好处?我可以在http://msdn.microsoft.com/en-gb/z0w1kczw(VS.80).aspx上找到参考资料 但是,我不知道何时以及为什么要尝试使用它.
Asa*_*sad 33
在.NET Framework中,属性可以用于多种原因 - 比如
定义哪些类是可序列化的
选择在Web服务中公开的方法
Attributes允许我们descriptions在设计时添加类,属性和方法,然后可以在运行时通过反射进行检查.
考虑这个例子:
假设你有一个类,它有一个旧版本的方法,由于任何原因仍在使用,现在你已经提出了一个新版本的类,它很好地使用了通用列表和LINQ,并且有一个类似用途的新方法.您希望开发人员更喜欢库的更高版本中提供的新版本.你会怎么做?一种方法是在文档中写入.更好的方法是使用属性如下.
public class AccountsManager
{
[Obsolete("prefer GetAccountsList", true)]
static Account[] GetAccounts( ) { }
static List<Account> GetAccountsList( ) { }
}
Run Code Online (Sandbox Code Playgroud)
如果obsolete在编译程序时使用了某个方法,则开发人员会获取此信息并相应地做出决定.
AccountManager.GetAccounts()已过时:更喜欢GetAccountsList
我们也可以Custom Attributes根据要求创建和添加.
参考:
希望这可以帮助
Eri*_*ert 24
我的建议:使用属性来陈述有关机制的事实,但不要对业务域的方面进行建模.
更多细节:
http://blogs.msdn.com/ericlippert/archive/2009/02/02/properties-vs-attributes.aspx
| 归档时间: |
|
| 查看次数: |
21974 次 |
| 最近记录: |