草庐IT

Reflection

全部标签

C#:获取列表中所有项目的任意属性的最大值和最小值

我有一个专门的列表,其中包含IThing类型的项目:publicclassThingList:IList{...}publicinterfaceIThing{DecimalWeight{get;set;}DecimalVelocity{get;set;}DecimalDistance{get;set;}DecimalAge{get;set;}DecimalAnotherValue{get;set;}[...evenmorepropertiesandmethods...]}有时我需要知道列表中所有事物的某个属性的最大值或最小值。因为“告诉不要问”,我们让List自己搞定:publiccl

C#:获取列表中所有项目的任意属性的最大值和最小值

我有一个专门的列表,其中包含IThing类型的项目:publicclassThingList:IList{...}publicinterfaceIThing{DecimalWeight{get;set;}DecimalVelocity{get;set;}DecimalDistance{get;set;}DecimalAge{get;set;}DecimalAnotherValue{get;set;}[...evenmorepropertiesandmethods...]}有时我需要知道列表中所有事物的某个属性的最大值或最小值。因为“告诉不要问”,我们让List自己搞定:publiccl

c# - 在 ViewBag 中存储匿名对象

这可能是一个愚蠢的问题,但我正试图在ViewBag中填充一个匿名对象,如下所示:ViewBag.Stuff=new{Name="Test",Email="user@domain.com"};并像这样从View中访问它:@ViewBag.Stuff.Name我知道ViewBag是动态的,“Stuff”是一个匿名对象...但是当我从上面的View行使用调试器查看时,我可以看到所有具有正确值的属性。为什么模型绑定(bind)器对此如此困难?有没有一种无需创建模型类即可完成此操作的好方法?我想继续使用new{} 最佳答案 本质上,问题是匿名

c# - 在 ViewBag 中存储匿名对象

这可能是一个愚蠢的问题,但我正试图在ViewBag中填充一个匿名对象,如下所示:ViewBag.Stuff=new{Name="Test",Email="user@domain.com"};并像这样从View中访问它:@ViewBag.Stuff.Name我知道ViewBag是动态的,“Stuff”是一个匿名对象...但是当我从上面的View行使用调试器查看时,我可以看到所有具有正确值的属性。为什么模型绑定(bind)器对此如此困难?有没有一种无需创建模型类即可完成此操作的好方法?我想继续使用new{} 最佳答案 本质上,问题是匿名

c# - 使用反射从类列表的属性中获取值

我正在尝试从作为主对象一部分的列表中的对象获取值。我有一个主对象,其中包含可以是集合的各种属性。现在我正在尝试弄清楚如何访问对象中包含的通用列表。//////Codefortheinnerclass///publicclassTheClass{publicTheClass();stringTheValue{get;set;}}//Notethisclassisusedforserializationsoitwon'tcompileas-is//////Codeforthemainclass///publicclassMainClass{publicMainClass();publicL

c# - 使用反射从类列表的属性中获取值

我正在尝试从作为主对象一部分的列表中的对象获取值。我有一个主对象,其中包含可以是集合的各种属性。现在我正在尝试弄清楚如何访问对象中包含的通用列表。//////Codefortheinnerclass///publicclassTheClass{publicTheClass();stringTheValue{get;set;}}//Notethisclassisusedforserializationsoitwon'tcompileas-is//////Codeforthemainclass///publicclassMainClass{publicMainClass();publicL

c# - .NET 反射 - 如何从 ParameterInfo 中获取 "real"类型

我正在尝试验证参数既是输出参数又是扩展接口(interface)(ICollection)。反射api似乎不想给我参数的“真实”类型,只有最后带有“&”的参数不会在IsAssignableFrom语句中正确评估。我已经编写了一些有效的C#代码,但似乎应该有更好的方法来执行此操作。boolisCachedArg(ParameterInfopInfo){if(!pInfo.IsOut)returnfalse;stringtypeName=pInfo.ParameterType.FullName;stringnameNoAmpersand=typeName.Substring(0,typeN

c# - .NET 反射 - 如何从 ParameterInfo 中获取 "real"类型

我正在尝试验证参数既是输出参数又是扩展接口(interface)(ICollection)。反射api似乎不想给我参数的“真实”类型,只有最后带有“&”的参数不会在IsAssignableFrom语句中正确评估。我已经编写了一些有效的C#代码,但似乎应该有更好的方法来执行此操作。boolisCachedArg(ParameterInfopInfo){if(!pInfo.IsOut)returnfalse;stringtypeName=pInfo.ParameterType.FullName;stringnameNoAmpersand=typeName.Substring(0,typeN

c# - 如何为给定类型创建实例?

这个问题在这里已经有了答案:HowtocreateanewobjectinstancefromaType(11个答案)Programmaticequivalentofdefault(Type)(13个答案)关闭9年前。使用泛型你可以varobject=default(T);但是当你只有一个Type实例时我只能constructor=type.GetConstructor(Type.EmptyTypes);varparameters=newobject[0];varobj=constructor.Invoke(parameters);甚至varobj=type.GetConstructo

c# - 如何为给定类型创建实例?

这个问题在这里已经有了答案:HowtocreateanewobjectinstancefromaType(11个答案)Programmaticequivalentofdefault(Type)(13个答案)关闭9年前。使用泛型你可以varobject=default(T);但是当你只有一个Type实例时我只能constructor=type.GetConstructor(Type.EmptyTypes);varparameters=newobject[0];varobj=constructor.Invoke(parameters);甚至varobj=type.GetConstructo