相关疑难解决方法(0)

受保护的成员/领域真的那么糟糕吗?

现在,如果您阅读MSDN for C#中的命名约定,您会注意到它声明属性始终优先于public和protected字段.有些人甚至告诉我,你永远不应该使用公共或受保护的领域.现在我同意我还没有找到一个理由,我需要有一个公共领域,但受保护的领域真的那么糟糕?

我可以看到它,如果您需要确保在获取/设置值时执行某些验证检查,但是在我看来,很多时候它似乎只是额外的开销.我的意思是说我有一个类GameItem,其中包含baseName,prefixName和suffixName的字段.我为什么要承担创建属性(C#)或访问器方法的开销以及我将要发生的性能损失(如果我对应用程序中的每个字段执行此操作,我相信它会稍微增加一点,尤其是某些语言PHP或某些具有性能的应用程序是否像游戏一样至关重要?

c# performance coding-style access-levels

31
推荐指数
4
解决办法
1万
查看次数

使用公共字段的最佳做法是什么?

当我写一个类时,我总是通过这样的公共属性公开私有字段:

private int _MyField;
public int MyField
{ get{return _MyField; }
Run Code Online (Sandbox Code Playgroud)

什么时候可以公开这样的公共字段:

public int MyField;
Run Code Online (Sandbox Code Playgroud)

我正在创建一个名为Result的结构,我的意图是这样做:

public Result(bool result, string message)
{
   Result = result;
   Message = message;
}

public readonly int Result;
public readonly int Message;
Run Code Online (Sandbox Code Playgroud)

什么是最佳做法?这样做好吗?

.net c# field properties

23
推荐指数
3
解决办法
5035
查看次数

标签 统计

c# ×2

.net ×1

access-levels ×1

coding-style ×1

field ×1

performance ×1

properties ×1