C# DNX 5.0中System.Reflection.MemberTypes在哪里?
.NET4.5拥有它。 它在DNXCore v5中的何处 我的具体错误消息是:C# DNX 5.0中System.Reflection.MemberTypes在哪里?,c#,reflection,dnx,C#,Reflection,Dnx,.NET4.5拥有它。 它在DNXCore v5中的何处 我的具体错误消息是: DNXCore,Version=v5.0错误CS0103:名称“MemberTypes”在当前上下文中不存在。 在以前的.NET中,它是系统.Reflection上的枚举,是obj.GetType().GetMember(memberName).MemberType(字段、属性等)的结果 编辑: 这就是我正在做的: using System.Linq; using System.Reflection; i
DNXCore,Version=v5.0错误CS0103:名称“MemberTypes”在当前上下文中不存在。
在以前的.NET中,它是系统.Reflection上的枚举
,是obj.GetType().GetMember(memberName).MemberType
(字段、属性等)的结果
编辑:
这就是我正在做的:
using System.Linq;
using System.Reflection;
internal static object Send(object obj, string callableName, object[] parameters = null)
{
var info = InfoFor(obj, callableName);
return ValueFor(obj, info);
}
其中,InfoFor
返回MethodInfo
、PropertyInfo
,或任何与callableName
匹配的内容
和下面的值(尝试使用MemberTypes的位置)
看起来(至少现在是这样)
发布您的代码,以便有人可以推荐可行的替代方案。对其进行代码搜索,并检查其是否存在。我认为这实际上是一个bug:
private static object ValueFor(object obj, dynamic member)
{
object value = null;
if (member != null)
{
switch ((System.Reflection.MemberTypes)member.MemberType)
{
case MemberTypes.Field:
value = ((FieldInfo)member).GetValue(obj);
break;
case MemberTypes.Property:
value = ((PropertyInfo)member).GetValue(obj, null);
break;
...
FieldInfo field = member as FieldInfo;
if (field != null)
return field.GetValue(obj);
PropertyInfo property member as PropertyInfo;
if (property != null)
return property.GetValue(obj, null);