我有自动生成的部分类,如:
DROP USER [UserAccount]
CREATE USER [UserAccount] FOR LOGIN [UserAccount]
EXEC sp_addrolemember N'db_owner', N'UserAccount'
我使用public partial class MyEntity { ... }
文件来扩展分部类。我想避免自动生成的MyEntity消失或重命名但自定义的MyEntity.partial.cs保留并编译没有错误的情况。
如何确保我只能扩展现有的部分类?
答案 0 :(得分:1)
我不确定是否存在任何良好的解决方案。
这是 a 解决方案。
让自动生成的类包含以下内容:
partial void CompileTimeCheckThatAutoGeneratedPartExists();
然后写下每个手写的扩展程序:
partial void CompileTimeCheckThatAutoGeneratedPartExists()
{
}
注意:自动生成部分中的正文是分号;
,而扩展部分中的正文是空块{ }
。
当自动生成的部分消失,重命名或移动到另一个namespace
时,将发生编译时错误。