Tag: anonymous types

匿名类型的平等

为什么Equals()和==的语义在用于比较匿名类型时有所不同? 为什么要比较值和其他比较参考? 它背后的原因是什么?

ActionLinks的MVC动态路由值

我需要使用ActionLink链接到我的ViewModel A的编辑屏幕。 A有一个复合键,所以要链接到它,路由值必须有3个pramaters,如下所示: 如您所见,路由值包含控制器Action将接受的ID。 我希望能够从辅助函数生成路由值,如下所示: public static Object GetRouteValuesForA(A objectA) { return new { long Id1= objectA.Id1, long Id2= objectA.Id2, long Id3= objectA.Id3 }; } 然后在ActionLink助手中使用它,但我不知道如何将该结果传递给ActionHelper objectA = new A(){Id1= objectA.Id1,Id2= objectA.Id2,Id3= objectA.Id3}; …. 但是,这需要控制器操作接受匿名类型而不是3个属性的列表 我看到下面的链接合并匿名类型,但有没有其他方法来做到这一点? 合并匿名类型

如何读取匿名类型的属性?

我有一个返回的方法 return new System.Web.Mvc.JsonResult() { Data = new { Status = “OK”, } } 我需要编写一个unit testing,我需要validationjsonResult.Data.status= “OK” 。 我如何阅读状态属性? 更新:我尝试了[assembly:InternalsVisibleTo(“TestingAssemblyName”)],但这没有帮助。 我一直收到错误{“’System.Web.Mvc.JsonResult’不包含’Status’的定义”} 此外,我想我不想修改我正在测试的代码。 所以我接受了Jon的建议并使用了反思。 var type = jsonResult.Data.GetType(); var pinfo = type.GetProperty(“Status”); string statusValue = pinfo.GetValue(jsonResult.Data,null).ToString(); Assert.AreEqual(“OK”, statusValue);

字典的匿名集合初始值设定项

是否可以隐式声明下一个Dictionary : { urlA, new { Text = “TextA”, Url = “UrlA” } }, { urlB, new { Text = “TextB”, Url = “UrlB” } } 所以我可以这样使用它: foreach (var k in dic) { k.Key.Text = k.Value.Text; k.Key.NavigateUrl = k.Value.Url; } ?

如何在C#匿名类型中声明“Key”字段?

在VB.NET中,我习惯于在创建匿名类型时做这样的事情( VB.NET匿名类型包括关键字段的概念 ): Dim prod1 = New With { Key .Name = “paperclips”, Key .Price = 1.29, .OnHand = 423 } 但是,我无法在C#中找到任何方法,因为它似乎不支持Key关键字。 有没有办法在C#中表明我只想在寻找相等性时比较匿名类型中的一些字段?

LINQ语句中匿名类型的等效VB.NET语法是什么?

我正在尝试将一些C#LINQ代码转换为VB.NET,并且我仍然坚持如何在VB.NET中声明一个匿名类型。 .Select(ci => new { CartItem = ci, Discount = DiscountItems.FirstOrDefault(di => di.SKU == ci.SKU) }) 你如何将C#的new { … }语法翻译成VB.NET?

Linq:使用表达式树语法按多列分组

我想更改以下代码,以便处理超过1个属性的分组 private Expression<Func> DynamicGroupBy(string propertyName) { var parameterExp = Expression.Parameter(typeof(ProfileResultView), “x”); var memberExp = Expression.PropertyOrField(parameterExp, propertyName); return Expression.Lambda<Func>(memberExp, parameterExp); } 所以这将被翻译成 GroupBy(x => new { x.Column1, x.Column2 }) 如何在表达式树语法中编写匿名类型?

如何在使用Linq时返回匿名类型

可能重复: LINQ to SQL:返回匿名类型? 任何人都知道如何返回匿名类型。 我正在使用Linq,我需要返回以下代码 private SampleLinq(Int32 Num) { var query = (from dept in obj.DeptTable where dept.Id == Num select new { dept.DeptName, dept.DeptId }); return (query) }

创建动态匿名类型变量

我可以创建一个匿名类型变量,然后再添加更多属性吗? 例如var x = new { Name = “Ahmed” }; 并希望将Age添加到它? 我怎样才能做到这一点? 另一个问题:我在一些博客上看到一个类型AnonymousType这个类的名称空间是什么? 这是一个例子http://www.codeproject.com/KB/cs/AnonymousTypesInCSharp.aspx

C#function请求:在匿名类型上实现接口

我想知道做这样的工作需要什么: using System; class Program { static void Main() { var f = new IFoo { Foo = “foo”, Print = () => Console.WriteLine(Foo) }; } } interface IFoo { String Foo { get; set; } void Print(); } 创建的匿名类型看起来像这样: internal sealed class f__AnonymousType0<j__TPar> : IFoo { readonly j__TPar i__Field; public f__AnonymousType0(j__TPar Foo) { this.i__Field […]