当前位置:  开发笔记 > 编程语言 > 正文

在C#中,在类中引用成员属性的普遍接受的方法是什么?

如何解决《在C#中,在类中引用成员属性的普遍接受的方法是什么?》经验,为你挑选了2个好方法。

已经阅读了MSDN命名指南并且找不到明确的答案,除此之外,您应该尽量避免使用下划线.假设我有以下内容:

public class Employee
{
    private string m_name;  //to store property value called Name

    public string Name
    {
        get { return m_name; }
        set { m_name = value; }
    }

    public void ConvertNameToUpper()
    {
        //by convention should you use this
        return m_name.ToUpper();

        //or this
        return Name.ToUpper(); 
    }
}

上面m_name的正确命名约定是什么?例如,在代码我继承我常见:

m_name

_名称

名称

myName或其他一些随机标识符

哪一个(或另一个)最常被接受?

作为后续,在类的方法中,您是指内部(私有)标识符还是公共属性访问器?



1> Frederik Ghe..:

我认为,无论你使用什么命名约定,最重要的是你保持一致.我的意思是,如果你选择像_name一样命名私有成员,那么总是这样做,而不是一次使用_name,另一次是m_name.我个人使用下划线前缀约定.(其中一个原因是因为我使用NHibernate,而NHibernate有一个'field.camelcase-underscore'访问策略.

对于你的另一个问题:这取决于你想做什么.
您的属性是否包含额外的逻辑,并且您是否希望在引用它时执行此逻辑?然后使用该属性.你不想执行逻辑?使用该字段.Eric Lippert 在他的博客上写了一篇关于此事的帖子.

对于你的后续行动:这一切都取决于具体情况.如果您的属性包含一些额外的逻辑,并且您不想在从类中访问时执行该附加逻辑,那么请使用支持字段...



2> Brian Rasmus..:

首先 - 对于简单的get/set情况,我建议您使用自动实现的属性.如果这样做,编译器将生成基础变量,并且您只引用属性本身.

除此之外,我建议你选择上面的一个或类似的东西,坚持下去.我工作的公司使用vName,其中"v"表示这是属性的值.

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有