小编Dav*_*egg的帖子

部分方法实现给出错误“未找到用于实现部分方法声明的定义声明...”

我正在编写一个需要设置表单的 Winforms 项目。对于该设置表单,我想要两种模式:基本模式和高级模式。我已经编写了代码以使其在这两者之间进行更改,并且为了节省时间,我希望 InitializeComponent() 方法只需调用切换到基本模式时调用的相同方法。我创建了一个像这样的部分方法:

        partial void InitializeComponent()
        {
            BasicSettingsButton_Click(new object(), new EventArgs());
        }
Run Code Online (Sandbox Code Playgroud)

在我的程序文件中的部分类(不是 Windows 窗体设计器生成的类)中,并将 Window 窗体设计器生成的代码更改为:

        partial void InitializeComponent();
        //{
        //...
        //}
Run Code Online (Sandbox Code Playgroud)

我认为这是签名的正确语法,其实现定义如上所述。

但是,当我尝试构建代码时,它告诉我“没有找到用于实现部分方法 InitializeComponent() 声明的定义声明”,并指出我拥有的第一个代码示例。

我已经检查了名称,甚至复制并粘贴了相应的名称以确保它们相同,但我仍然无法让它运行。这是我的代码中阻止我构建和运行的唯一错误。有任何想法吗?

c# partial-methods winforms

6
推荐指数
0
解决办法
8394
查看次数

如何使用任意数量的args在lisp中定义结构?

我试图定义一个结构,其中包含我想知道的一些属性,以及基本结构不需要的任意数量的其他属性.

(defstruct (node (:type list)) label [other args here])
Run Code Online (Sandbox Code Playgroud)

我知道你可以在一个函数中做到:

(defun foo (arg1 &rest args) ...)
Run Code Online (Sandbox Code Playgroud)

有某种&rest等价物defstruct吗?

我只是在学习口齿不清,所以我有一种感觉,我错过了一些东西.如果没有&rest相应的,关于我如何去做这个的任何想法?提前致谢!

lisp structure common-lisp

5
推荐指数
2
解决办法
663
查看次数

可以在Lisp中使用循环外的"it"命令吗?

我知道在Lisp循环中,可以使用特殊变量"it",如Gigamonkeys的这个例子:

(loop for key in some-list when (gethash key some-hash) collect it)
Run Code Online (Sandbox Code Playgroud)

我想知道除了使用let显式存储它之外是否还有一个等效的概念,如下所示:

(let ((result (foo input)))
     (when result (push result acc)))
Run Code Online (Sandbox Code Playgroud)

我可以使用let,但我只是好奇是否有一些语法糖可以使我的代码更简洁.

lisp common-lisp syntactic-sugar

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