我们可以将方法添加到引用匿名类型成员的匿名类型吗?

肖恩·卢汀(Shaun Luttin)

这些代码示例并不意味着可以正常工作。它们旨在说明我尝试做我认为可能的方法。

// Error: The name First does not exist...
var Contact = new
{
    First = "",
    Last = "",            
    FullName = First + " " + Last
};

// Error: Cannot assign lambda expression to anonymous type property
var Contact = new
{
    First = "",
    Last = "",
    FullName = () => { }
};
kemiller2002

Visual Studio 2013

匿名类型包含一个或多个公共只读属性。没有其他种类的类成员(例如方法或事件)有效。用于初始化属性的表达式不能为null,匿名函数或指针类型。

实际上可以,您可以:MSDN文档

        var fName = "First Name";
        var lName = "Last Name";

        var t = new
        {
            FirstName = "First Name",
            LastName = "Last Name",
            FullName = new Func<string>(() => { return fName + lName; })

        };

根据您对TypeSafety的渴望程度,还可以执行以下操作:

dynamic v = new ExpandoObject();

v.FirstName = "FName";
v.LastName = "LName";
v.FullName = new Func<string>(() => { return v.FirstName + " " + v.LastName; });

坦白地说,我可能会使用这些属性和方法在方法的父类中创建一个嵌套类型两种方法都可以使用,并且内部类仅在其中使用时也不会弄乱项目的其余部分。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我们可以将主键添加到集合数据类型吗?

匿名类型添加到列表

我可以将匿名对象传递到需要引用类型为object的参数的方法中吗?

我们可以根据请求参数将验证添加到请求正文中吗

我们可以将putImageData而不是fromURL添加到织物画布中吗

我们可以将UITableView添加到自定义UITableViewcell吗?

我们可以将元素添加到列表标题吗?

我们可以将函数“文本”的图例添加到 matlab 吗?

我们可以将列表作为值添加到 redis 中的排序集吗?

声明期间可以使用匿名类型成员吗?

我们可以将二进制原始数据添加到<form>吗?

我们可以将http响应标头直接添加到html页面中吗

我们可以将私有数据收集添加到现有网络中的频道吗

我们可以将Flutter模块添加到现有的Android Studio项目中吗?

我们可以将功能作为道具添加到array.map(item,index)中的每个项目吗

我们可以使用SQL查询将列添加到AWS Athena中的现有表吗?

我们可以将 Ubuntu 分区添加到包含 Windows 10 存储池的驱动器吗?

我们可以将文件名修改后的文件添加到zip存档中吗

我们可以通过铲子方法将项目和数量添加到列表中并在类之外调用该列表吗?

我可以将Twig文件类型添加到Linux吗?

我们可以专门化类模板的枚举(类型)成员吗?

我们可以跳过“将您的 SSH 密钥添加到 ssh-agent”部分而只生成密钥并添加到 GitHub 吗?

匿名类型成员平等

我们可以将自定义值添加到CakePHP表对象吗?

我可以为匿名类型属性分配空值吗?

我们可以在C#中使用Struct作为引用类型吗?

将方法添加到列表并传递匿名参数

我们可以添加两个或多个相同类型的对象吗?

我们可以在PostgreSql的类型表中添加列吗?