【发布时间】:2016-11-15 05:19:27
【问题描述】:
我有一个带有构造函数的局部类,但构造函数抛出错误,因为“已经声明了具有相同签名的成员”(另一个局部类中存在同名的构造函数)。当名称已被使用时,如何为部分类创建构造函数?
public partial class DigitalArchivesAssetsDataContext
{
public DigitalArchivesAssetsDataContext()
: base(System.Configuration.ConfigurationManager.ConnectionStrings["digitalArchivesAssets"].ConnectionString, mappingSource)
{
OnCreated();
}
}
【问题讨论】:
-
如果构造函数签名相同,为什么在两个不同的部分类中需要它?最终,部分类将被编译,就好像它们是在同一个类中编写的一样。
-
您的班级中不能有重复的成员。 Partial 只不过是允许编译器从多个文件编译类,但同样的编码原则也适用,包括没有重复的成员(包括构造函数)。
-
您在代码中显示的方法是现有方法还是您要添加的方法?如果它已经存在,那么它的目的是利用
OnCreated添加您想要在调用构造函数时执行的自定义代码。如果是这种情况,它可能是您可以覆盖的部分方法、事件或虚拟方法。
标签: c# asp.net .net constructor partial-classes