110,539
社区成员
发帖
与我相关
我的任务
分享
public enum OperateType
{
Success = 1,
Fail = 0,
}
typeof(OperateType).GetMethods("TryParse",new Type[]{typeof(string),typeof(OperateType).MakeByRefType()});
typeof(OperateType).GetMethods("TryParse").FirstOrDefault(x => x.Name == "TryParse" && x.GetParemeteres().Length == 2)
//以上两种方式都获取不到tryparse方法,监视GetMethods的返回值的时候,也没见着TryParse,不知道怎么回事
var methodInfo = typeof(OperateType)
.GetMethods(BindingFlags.Static | BindingFlags.FlattenHierarchy | BindingFlags.Public)
.First(x => x.Name == "TryParse" && x.GetParameters().Length == 2);
methodInfo = methodInfo.MakeGenericMethod(typeof(OperateType));
object[] parameters = new object[]{"Success", null};
methodInfo.Invoke(null, parameters);
OperateType result = (OperateType)parameters[1]; // OperateType.Success