编程语言
首页 > 编程语言> > c#-具有相同名称的通用和非通用类型的约定

c#-具有相同名称的通用和非通用类型的约定

作者:互联网

任务是以通用和非通用形式存在的类的示例.通用形式扩展了非通用形式.

public class Task
{

}

public class Task<T> : Task
{

}

说我正在自己实施某种东西.通常,惯例是将不同的类放在不同的文件中.由于它们具有相同的名称,因此在这里是不可能的.

这种情况的惯例是什么?将这两个类都放在同一个文件中,还是将通用类放在另一个文件中,但使用不同的名称?

解决方法:

尽管Microsoft没有发布处理这种情况的标准方法,但他们将Task< TResult>在另一个文件中,其名称与Task不相关:非通用类在文件Task.cs中,而通用类在文件Future.cs中.

类似地,Expression和Expression< TResult>是相同的.位于不同的文件中(Expression.csLambdaExpression.cs).

看起来,在文件中放置类的背后的逻辑是,该类与它在逻辑上所属的其他类一起使用.

标签:convention,generics,c
来源: https://codeday.me/bug/20191027/1945279.html