C#抽象类命名约定

C#抽象类命名约定,c#,.net,naming-conventions,C#,.net,Naming Conventions,在C#中,接口命名约定是I(例如:IList) 抽象类是否有命名约定 如果没有,主要建议是什么?通常情况下,命名抽象类时不使用后缀/前缀,而接口的前缀是“I”。只需给你的类起一个名字,用简短而精确的方式描述它的用途 抽象类是否有命名约定 不,这里没有约定。有一些表示抽象基类的常用方法。我见过的最常见的是使用后缀Base。就我个人而言,我不喜欢这一惯例,而政府建议反对它 如果没有,主要建议是什么 一个很好的通用名称,它描述了类正在建模的内容,就像任何其他类名一样。所以Shape然后Polygon然

在C#中,接口命名约定是
I
(例如:
IList

抽象类是否有命名约定


如果没有,主要建议是什么?

通常情况下,命名抽象类时不使用后缀/前缀,而接口的前缀是“I”。只需给你的类起一个名字,用简短而精确的方式描述它的用途

抽象类是否有命名约定

不,这里没有约定。有一些表示抽象基类的常用方法。我见过的最常见的是使用后缀
Base
。就我个人而言,我不喜欢这一惯例,而政府建议反对它

如果没有,主要建议是什么


一个很好的通用名称,它描述了类正在建模的内容,就像任何其他类名一样。所以
Shape
然后
Polygon
然后
RegularPolygon
等等。

只是一个描述类功能的通用名称,tbh。不,好吧,没有惯例或最佳实践与抽象类相联系。@DonBoitnott对此投赞成票,就像Dude一样我总是看到带有“I”的接口前缀,如
IEnumerable
ITaxable
@JYelton我认为这只是一个语法错误,他的意思是“抽象类没有后缀,不像有I前缀约定的接口”,框架指南建议在哪里反对它?你链接到一个框架架构师的博客,而不是框架指南:(这两个指南似乎都没有说明任何事情)。被否决是因为我同意@Pharap。他可能链接到博客帖子,因为框架设计指南中的建议在书中,第174页,该公约明确规定,如果是公共API,则不应使用“Base”。因此,如果抽象类的预期用途是库本身内部的,那么可以使用“Base”来命名抽象类。