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

标签 c# asp.net .net constructor partial-classes

我有一个带有构造函数的分部类,但该构造函数抛出错误,因为“已经声明了具有相同签名的成员”(另一个分部类中存在同名的构造函数)。当名称已被使用时,如何为分部类创建构造函数?

public partial class DigitalArchivesAssetsDataContext
{
    public DigitalArchivesAssetsDataContext()
        : base(System.Configuration.ConfigurationManager.ConnectionStrings["digitalArchivesAssets"].ConnectionString, mappingSource)
    {
        OnCreated();
    }
}

最佳答案

你不能。在构建项目时,编译器实质上将所有部分类的文本合并为一个类。每个类不能有多个具有相同名称和签名的方法(包括构造函数)。

一个选择是为构造函数使用不同的签名,或者修改您的体系结构以不需要构造函数。例如,您可以使用现有的构造函数并使用某种 Initialize 方法来运行来自其他构造函数的代码。

您也可以使用“部分方法”。这些是标记为 partial 的方法,您可以从现有构造函数调用“如果它们存在”。它们被设计为来自代码生成器的部分类的扩展点,但您也可以使用它们。参见 MSDN获取更多信息。

关于c# - .Net 如何为部分类创建构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38337796/

相关文章:

asp.net - 客户端可以取消 Web Api 请求吗?

asp.net - RegisterRoutes方法会降低性能吗?

c# - 顺序等待 VS 连续等待

.net - 泛型类型转换

C#.NET 正则表达式未按预期工作

c# - 需要具有 .NET 4.0 新功能的单一生产者/单一消费者模式示例

c# - 使用 ServerManager 类配置 IIS 身份验证设置

c# - 从多个表中选择语句,具有可变输入

c# - 是否可以从 Azure 静态 Web 应用程序中的另一个 Azure 函数调用一个 Azure 函数?

.net - 在 IIS 中使用 IP 地址绑定(bind)子应用程序