我正在生成大量的ASP.NET MVC脚手架代码.所有生成的文件都是使用标准命名约定的部分类.例如,我的员工控制器文件名为EmployeeController.cs.如果我希望使用自定义的非生成逻辑扩展EmployeeController,我将创建一个名为EmployeeControllerCustom.cs的第二个部分类文件.我将自定义和生成的逻辑分成两个不同的文件,因此下次生成EmployeeController时,我的自定义更改不会被覆盖.将"自定义"后缀添加到文件名对我来说似乎是合理的,但是我是否应该遵循更成熟的部分类文件命名约定?
我正在编写几个都有泛型类型参数的类,但是我需要重载这些类,因为在不同的场景中我需要不同数量的参数.基本上,我有
public class MyGenericClass<T> { ... }
public class MyGenericClass<T, K> { ... }
public class MyGenericClass<T, K, L> { ... }
// it could go on forever, but it won't...
Run Code Online (Sandbox Code Playgroud)
我希望它们都在同一个命名空间中,但每个类在一个源文件中.我该怎么命名这些文件?有最好的做法吗?
Task是一个以泛型和非泛型形式存在的类的例子。泛型形式扩展了非泛型形式。
public class Task
{
}
public class Task<T> : Task
{
}
Run Code Online (Sandbox Code Playgroud)
假设我自己正在实施类似的东西。通常,约定是将不同的类放在不同的文件中。由于它们具有相同的名称,因此在这里是不可能的。
这种场景的约定是什么?将两个类放在同一个文件中,还是将通用类放在不同的文件中,但名称不同?
可能重复:
如何为泛型类命名C#源文件
我们正在重新评估当我们从一般类继承时如何执行泛型类.目前,我们将以下两个类定义放在同一个文件中
class Foo
{
// code for class
}
class Foo<T> : foo
{
// code for class
}
Run Code Online (Sandbox Code Playgroud)
我的问题很简单,我们应该将它们保存在同一个文件中,还是将它们拆分成单独的文件?
到目前为止,将它们保存在同一个文件中的优点是,您拥有正确的所有代码.结果是当两个类都变得足够大时,它可能变得不可读.
我想要的是为什么我们应该做一个或另一个的充分理由.如果您推荐单独的文件,我还希望您包含可能的命名约定或策略来解决我们只能有一个名为Foo的文件的事实