小编Pri*_*rim的帖子

派生类认为我的基类被删除了

我试图创建一个派生的 WinForm 类,但我有一个问题:当我尝试创建我的 DerivedClass(通过添加 > 新元素 > 派生表单)时,Visual Studio 告诉我该对象不存在

我确定所涉及的对象是 BaseForm,因为我Setting Error在控制台中看到消息显示。(我的猜测是因为该Close()函数被调用)

public partial class BaseForm : Form
{
    Port port;

    public BaseForm()
    {
        InitializeComponent();
    }

    protected void Form1_Load(object sender, EventArgs e)
    {
        port = new Port();
        if (port.Port_Setting() != 0)
        {
            Console.WriteLine("Setting Error");
            Close();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

目前,BaseForm 是空的,只是一个没有添加组件的表单。

Port到目前为止,我的课程中唯一使用的部分是这个,只是将其初始化以供进一步使用:

class Port
{
    protected SerialPort sp = new SerialPort();
    public int Port_Setting()
    {
        Console.WriteLine("Setting port");
        if (sp.IsOpen)
        {
            sp.Close();
        }

        sp.BaudRate = …
Run Code Online (Sandbox Code Playgroud)

.net c# visual-studio winforms

12
推荐指数
1
解决办法
1020
查看次数

如果基类作为参数调用,我可以使用派生类函数吗?

我有一个public MyClass(Form form)作为构造函数的类

我可以使用我在从Form这个类派生的类中创建的函数吗?(命名DerivedClass

现在,我就在想,如果检查formDerivedClass再使用它的功能,但它似乎没有工作时。

if (form is DerivedClass)
{
    form.DerivedClassFunction();
}
Run Code Online (Sandbox Code Playgroud)

这样做我得到同样的错误:

“Form”不包含“DerivedClassFunction”的定义

https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/cs1061?f1url=%3FappId%3Droslyn%26k%3Dk(CS1061)

c#

1
推荐指数
1
解决办法
74
查看次数

标签 统计

c# ×2

.net ×1

visual-studio ×1

winforms ×1