部分类别的多重继承



我正在查看我继承的一些代码。我添加了PrintSpecialInfo()方法,并在尝试调用它时获取下面的错误显示。我对SpecialPermit类混淆。是PermitSystem.Windows.Forms.UserControl的多个继承情况吗?如何从btnSave_Click方法访问PrintSpecialInfo

允许part.cs

public partial class Permit : System.IComparable
{
    public partial class SpecialPermit : Permit
    {
        public virtual void PrintSpecialInfo()
        {
            System.Diagnostics.Trace.WriteLine("Permit.part.cs.PrintSpecialInfoTab --------------------");
            System.Diagnostics.Trace.WriteLine("tId: " + this.Id);
        }
    }
}

Specialpermit.cs

public partial class SpecialPermit : System.Windows.Forms.UserControl
{
    private void btnSave_Click (object sender, System.EventArgs e)
    {
        this.PrintSpecialInfo(); // SpecialPermit does not contain a definition for PrintSpecialInfo and no accessible extension method accepting a first argument of type SpecialPermit could be found
    }
}

我看到的方式实际上是2个不同的"专业"对象类型。您不能只添加"部分",并期望命名空间交织。从技术上讲,第一个是NAMESPACE.Permit.SpecialPermit,另一个是NAMESPACE.SpecialPermit

同样,两个对象都有超类的事实是赠品,即它们不一样。如评论中指出的那样,C#不允许多个继承。因此,除非"允许"是" usercontrol",否则专业人士的第二个定义将出现汇编错误。

为了回答,您无法访问该方法,因为它不在该对象中。

如果要访问它,则需要确保定义/扩展相同的对象。您发布的代码定义了2种不同的"专业"对象类型。

相关内容

  • 没有找到相关文章

最新更新