c# - 自定义自动生成的部分类

标签 c# partial-classes

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

public partial class MyEntity { ... }

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

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

最佳答案

我不确定是否存在任何好的解决方案。

这是一个解决方案。

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

partial void CompileTimeCheckThatAutoGeneratedPartExists();

然后在你手写的每一个扩展中写上:

partial void CompileTimeCheckThatAutoGeneratedPartExists()
{
}

注意:自动生成部分的正文是一个分号 ;,而你的扩展部分的正文是一个空 block { }

当自动生成的部分消失、重命名或移动到另一个命名空间时,将发生编译时错误。

关于c# - 自定义自动生成的部分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32689421/

相关文章:

c# - 表单设计器打破了通用抽象 UserControl

c# - Entity Framework : Extending partial class with interface without touching the EF-generated classes

c# - 部分类构造函数和事件处理程序注册

asp.net-mvc-3 - ASP.Net MVC 3 ViewModel 数据注释

c# - 加载外部 XSLT 时发生异常

c# - CsvHelper 将映射器一个属性写入多列

C# 如何在使用 Stream Reader 读取文本文件时跳过行数?

c# - 如何让我的 Windows 窗体程序执行任何 SendTo 快捷方式

c# - CLR 元数据 TypeDef 表计数

c# - .Net 如何为部分类创建构造函数?