c# - Lambda表达式-参数未知吗?

标签 c# lambda expression

我已经宣布此类:

public class SimpleArea<T> where T: Control
{
    private T control;

    public SimpleArea(T control)
    {
        this.control = control;
    }

}


在我的主程序上,我想执行以下操作:

var SimpleAreaPanel = SimpleArea<Panel>(p => { p.Height= 150; })


问题是他无法定义智能感知显示“ Parameter ??? p”的“ p”的类型。

我该如何完成此指示?

最佳答案

您的构造函数不需要lambda-它需要T实例,所以需要Panel。给它一个Panel,或者编写一个可以接受该表达式的构造函数-可能是一个Action<T>

就我个人而言,我怀疑您的意思仅仅是:

new Panel {Height = 150}


这是一个对象初始值设定项,而不是lambda-即

var SimpleAreaPanel = new SimpleArea<Panel>(
    new Panel { Height= 150 });

关于c# - Lambda表达式-参数未知吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6718732/

相关文章:

java - iterable.forEach() 和 iterable.stream().forEach() 的区别

groovy - Groovy 的三元条件运算符在字符串表达式中是否存在错误?

c# - [DataContract] 类中的代码

c# - .NET 中的变量新鲜度保证( volatile 与 volatile 读取)

c# - 嵌套数组的动态 Lambda 条件

c# - 我如何使用表达式 rdlc 更改颜色

c# - expression bodied成员如何区分void和non-void?

c# - 单击按钮更新

c# - 如何简化具有多个 OR 案例的 if 条件

c# - 如何根据目标属性名称在 Automapper 中执行字符串查找?