我有自动生成的局部类,例如:

public partial class MyEntity { ... }


我使用MyEntity.partial.cs文件扩展了部分类。我想避免自动生成的MyEntity消失或重命名但自定义的MyEntity.partial.cs保留并编译而没有错误的情况。

如何确保只能扩展现有的部分类?

最佳答案

我不确定对此是否有好的解决方案。

这是一个解决方案。

让您的自动生成的类包含以下内容:

partial void CompileTimeCheckThatAutoGeneratedPartExists();


然后输入您的每个手写扩展名:

partial void CompileTimeCheckThatAutoGeneratedPartExists()
{
}


注意:自动生成部分中的主体是分号;,而扩展部分中的主体是空块{ }

当自动生成的零件消失,被重命名或移动到另一个namespace时,将发生编译时错误。

10-04 16:19