Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .NET方法命名:何时使用xxx或何时使用GetXXX_C#_Naming Conventions - Fatal编程技术网

C# .NET方法命名:何时使用xxx或何时使用GetXXX

C# .NET方法命名:何时使用xxx或何时使用GetXXX,c#,naming-conventions,C#,Naming Conventions,在使用asp.net mvc时,我们会看到有很多方法都以“For”后缀命名,例如Html.EditorFor(…),Html.TextBoxFor(…)等。这些名称非常直观,我很喜欢 我的问题是,何时使用GetXXX(…),何时使用xxx(…)?似乎即使在同一个框架中,这些方法的命名仍然不一致。有时使用GetXXX(…),有时使用xxx或(…)。这有什么命名原则吗 顺便说一句: 我对此很好奇,因为我正在编写一个名为EntityKey的类。我想在这个类中放置两个静态方法。它们是EntityKey.

在使用asp.net mvc时,我们会看到有很多方法都以“For”后缀命名,例如
Html.EditorFor(…)
Html.TextBoxFor(…)
等。这些名称非常直观,我很喜欢

我的问题是,何时使用
GetXXX(…)
,何时使用
xxx(…)
?似乎即使在同一个框架中,这些方法的命名仍然不一致。有时使用
GetXXX(…)
,有时使用
xxx或(…)
。这有什么命名原则吗

顺便说一句

我对此很好奇,因为我正在编写一个名为
EntityKey
的类。我想在这个类中放置两个静态方法。它们是
EntityKey.Get(对象实体)
EntityKey.GetKeyProperties(类型entityType)
。但是我正在考虑将
Get
方法重命名为
For
,因此
EntityKey.For(object entity)
。如果我将
Get
重命名为
For
,我认为最好也将
GetKeyProperties
重命名为
KeyPropertiesFor
。你觉得怎么样?

我认为“流畅”类型的语法是为了让事情更具可读性,所以你最想问自己的是哪种语法最能传达你的代码在做什么

此外,如果您只是从实体类中检索数据,您可能会考虑使用扩展方法。

public static int GetKey(this object entity)
{
    ....
}
然后你就可以打电话了

someEntity.GetKey();
然后,您可以更进一步,让您的所有实体从公共接口继承,并将扩展方法更改为类似以下内容:

public static int GetKey(this IEntity entity)
{
   ...
}
我可能误解了您正在检索的内容,但如果是关于某个特定对象的某种数据或元数据,调用该对象上的方法(即数据源)通常对我来说更清晰。

我认为“流畅”类型的语法旨在使内容更具可读性,因此,您要问自己的最大问题是,哪种语法最能传达您的代码所做的事情

此外,如果您只是从实体类中检索数据,您可能会考虑使用扩展方法。

public static int GetKey(this object entity)
{
    ....
}
然后你就可以打电话了

someEntity.GetKey();
然后,您可以更进一步,让您的所有实体从公共接口继承,并将扩展方法更改为类似以下内容:

public static int GetKey(this IEntity entity)
{
   ...
}
我可能误解了您正在检索的内容,但如果是关于某个特定对象的某种数据或元数据,调用该对象上的方法(即数据源)通常对我来说更清晰。

我认为“流畅”类型的语法旨在使内容更具可读性,因此,您要问自己的最大问题是,哪种语法最能传达您的代码所做的事情

此外,如果您只是从实体类中检索数据,您可能会考虑使用扩展方法。

public static int GetKey(this object entity)
{
    ....
}
然后你就可以打电话了

someEntity.GetKey();
然后,您可以更进一步,让您的所有实体从公共接口继承,并将扩展方法更改为类似以下内容:

public static int GetKey(this IEntity entity)
{
   ...
}
我可能误解了您正在检索的内容,但如果是关于某个特定对象的某种数据或元数据,调用该对象上的方法(即数据源)通常对我来说更清晰。

我认为“流畅”类型的语法旨在使内容更具可读性,因此,您要问自己的最大问题是,哪种语法最能传达您的代码所做的事情

此外,如果您只是从实体类中检索数据,您可能会考虑使用扩展方法。

public static int GetKey(this object entity)
{
    ....
}
然后你就可以打电话了

someEntity.GetKey();
然后,您可以更进一步,让您的所有实体从公共接口继承,并将扩展方法更改为类似以下内容:

public static int GetKey(this IEntity entity)
{
   ...
}

我可能误解了您正在检索的内容,但是如果是关于某个特定对象的某种数据或元数据,调用作为数据源的对象上的方法通常对我来说更清楚。

在MVC中,
xxxFor
方法不仅仅是一种命名约定。该后缀表示该方法对模型的属性进行操作

Html.TextBoxFor(m => m.FirstName);
vs


还要注意的是,这些不是“C#方法”。这些是.NET方法,是ASP.NET MVC的一部分。如果您使用VB.NET,它们的名称将完全相同。

在MVC中,方法的
xxx不仅仅是一种命名约定。该后缀表示该方法对模型的属性进行操作

Html.TextBoxFor(m => m.FirstName);
vs


还要注意的是,这些不是“C#方法”。这些是.NET方法,是ASP.NET MVC的一部分。如果您使用VB.NET,它们的名称将完全相同。

在MVC中,
方法的
xxx不仅仅是一种命名约定。该后缀表示该方法对模型的属性进行操作

Html.TextBoxFor(m => m.FirstName);
vs


还要注意的是,这些不是“C#方法”。这些是.NET方法,是ASP.NET MVC的一部分。如果您使用VB.NET,它们的名称将完全相同。

在MVC中,
方法的
xxx不仅仅是一种命名约定。该后缀表示该方法对模型的属性进行操作

Html.TextBoxFor(m => m.FirstName);
vs



还要注意的是,这些不是“C#方法”。这些是.NET方法,是ASP.NET MVC的一部分。如果您使用VB.NET,它们的名称完全相同。

此问题取决于语言,请指定标记符号。我添加了语言标签。我想建议的标签会自动添加,我的坏:(编码风格的问题通常完全基于意见…查看现有资源,如和,以某种方式影响您的意见。
GetEditor
GetTextBox
EditorFor
TextBoxFor
更有意义吗?我不认为这些只是惯例。它们对功能没有影响问题是否取决于语言,请指定标记符号。我添加了语言