• <i id='AJLet'><tr id='AJLet'><dt id='AJLet'><q id='AJLet'><span id='AJLet'><b id='AJLet'><form id='AJLet'><ins id='AJLet'></ins><ul id='AJLet'></ul><sub id='AJLet'></sub></form><legend id='AJLet'></legend><bdo id='AJLet'><pre id='AJLet'><center id='AJLet'></center></pre></bdo></b><th id='AJLet'></th></span></q></dt></tr></i><div id='AJLet'><tfoot id='AJLet'></tfoot><dl id='AJLet'><fieldset id='AJLet'></fieldset></dl></div>
    <legend id='AJLet'><style id='AJLet'><dir id='AJLet'><q id='AJLet'></q></dir></style></legend>

    <small id='AJLet'></small><noframes id='AJLet'>

    • <bdo id='AJLet'></bdo><ul id='AJLet'></ul>
        <tfoot id='AJLet'></tfoot>

        什么时候应该在 C# 中使用属性?

        时间:2023-07-27
          <tbody id='ufnY3'></tbody>

        <small id='ufnY3'></small><noframes id='ufnY3'>

        • <legend id='ufnY3'><style id='ufnY3'><dir id='ufnY3'><q id='ufnY3'></q></dir></style></legend>
        • <tfoot id='ufnY3'></tfoot>

            <bdo id='ufnY3'></bdo><ul id='ufnY3'></ul>
            1. <i id='ufnY3'><tr id='ufnY3'><dt id='ufnY3'><q id='ufnY3'><span id='ufnY3'><b id='ufnY3'><form id='ufnY3'><ins id='ufnY3'></ins><ul id='ufnY3'></ul><sub id='ufnY3'></sub></form><legend id='ufnY3'></legend><bdo id='ufnY3'><pre id='ufnY3'><center id='ufnY3'></center></pre></bdo></b><th id='ufnY3'></th></span></q></dt></tr></i><div id='ufnY3'><tfoot id='ufnY3'></tfoot><dl id='ufnY3'><fieldset id='ufnY3'></fieldset></dl></div>

                • 本文介绍了什么时候应该在 C# 中使用属性?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我看到了一些利用属性的例子,例如(作为动态工厂的地图)http://msdn.microsoft.com/en-us/magazine/cc164170.aspx

                  I saw some of the examples of utilize attribute, e.g. (as a map for dynamic factory) http://msdn.microsoft.com/en-us/magazine/cc164170.aspx

                  只是想知道使用属性有什么好处?我可以在 http://msdn.microsoft.com/上找到参考资料zh-CN/z0w1kczw(VS.80).aspx但是,我不确定何时以及为什么要尝试使用它.

                  Just wondering what is the advantage of using attribute? I can find the reference on http://msdn.microsoft.com/en-gb/z0w1kczw(VS.80).aspx however, I am not sure when and why should I try to use it.

                  推荐答案

                  在 .NET Framework 中,可以使用属性的原因有很多——比如

                  In the .NET Framework, attributes can be used for many reasons -- like

                  • 定义哪些类是可序列化

                  • Defining which classes are serializable

                  选择公开的方法网络服务

                  Choosing which methods are exposed in a Web service

                  Attributes 允许我们在设计时将 descriptions 添加到类、属性和方法中,然后可以在运行时通过反射进行检查.

                  Attributes allow us to add descriptions to classes, properties, and methods at design time that can then be examined at runtime via reflection.

                  考虑这个例子:

                  假设你有一个类,它有一个旧版本的方法,由于任何原因仍在使用,现在你想出了一个新版本的类,它很好地利用了 Generic List 和 LINQ,并有了一个新方法出于类似目的.您希望开发人员更喜欢在您的库的更高版本中提供的新版本.你会怎么做?一种方法是写在文档中.更好的方法是使用属性如下.

                  Say you have a class which has a method from older version which is still in use for any reason and now you have come up with a new version of the class which makes fantastic use of Generic List and LINQ and has a new method for similar purpose. You would like developers to prefer the new one provided in the later version of your library. How will you do that ? One way is to write in the documentation. A better way is to use attribute as follow.

                  public class AccountsManager
                  {
                    [Obsolete("prefer GetAccountsList", true)]
                    static Account[] GetAccounts( ) { }    
                    static List<Account> GetAccountsList( ) { }      
                  }
                  

                  如果在编译程序时使用了 obsolete 方法,开发者会得到这个信息并做出相应的决定.

                  If an obsolete method is used when the program is compiled, the developer gets this info and decides accordingly.

                  AccountManager.GetAccounts() 已过时:更喜欢 GetAccountsList

                  AccountManager.GetAccounts() is obsolete: prefer GetAccountsList

                  我们还可以创建和添加 自定义属性根据要求.

                  We may also create and add Custom Attributes as per requirements.

                  参考:

                  • 在 C# 中使用属性

                  希望对你有帮助

                  这篇关于什么时候应该在 C# 中使用属性?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:如何在 C# 中使用属性列表反序列化元素 下一篇:在与 KnownType 属性一起使用的类上使用 Obsolete 属性时如何忽略编译器警告

                  相关文章

                  <legend id='tOcoI'><style id='tOcoI'><dir id='tOcoI'><q id='tOcoI'></q></dir></style></legend>

                  <small id='tOcoI'></small><noframes id='tOcoI'>

                • <tfoot id='tOcoI'></tfoot>

                      <bdo id='tOcoI'></bdo><ul id='tOcoI'></ul>

                      <i id='tOcoI'><tr id='tOcoI'><dt id='tOcoI'><q id='tOcoI'><span id='tOcoI'><b id='tOcoI'><form id='tOcoI'><ins id='tOcoI'></ins><ul id='tOcoI'></ul><sub id='tOcoI'></sub></form><legend id='tOcoI'></legend><bdo id='tOcoI'><pre id='tOcoI'><center id='tOcoI'></center></pre></bdo></b><th id='tOcoI'></th></span></q></dt></tr></i><div id='tOcoI'><tfoot id='tOcoI'></tfoot><dl id='tOcoI'><fieldset id='tOcoI'></fieldset></dl></div>