.NET 4.5中有,但在DNXCore v5中呢?
我的具体错误信息是:
DNXCore,Version=v5.0 error CS0103: The name 'MemberTypes' does not exist in the current context.
在以前的.NET版本中,它是System.Reflection上的一个枚举,并且会成为obj.GetType().GetMember(memberName).MemberType(Field、Property等)的结果。
编辑:
这是我正在做的事情:
我的具体错误信息是:
DNXCore,Version=v5.0 error CS0103: The name 'MemberTypes' does not exist in the current context.
在以前的.NET版本中,它是System.Reflection上的一个枚举,并且会成为obj.GetType().GetMember(memberName).MemberType(Field、Property等)的结果。
编辑:
这是我正在做的事情:
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
匹配的内容。
下面是 ValueFor
(其中试图使用 MemberTypes
)
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;
...