xamarin 形式 android 运行时反射 GetMethods 始终为零?
xamarin forms android runtime reflection GetMethods always zero?
我对 Xamarin 表单中的接口的 GetMethods 有问题 android。
当我获取接口的方法列表时,我总是一无所获。
这个问题是当我调用类型的 GetMethods 时该类型在另一个项目中(不在 android 项目中)并且如果该类型在 android 项目中我没有任何问题来获取接口方法。
例如:
[ServiceContract("AuthenticationService", InstanceType.SingleInstance)]
public interface IAuthentication
{
MessageContract<(int Id, Guid password)> RegisterUser(UserInfo userInfo);
MessageContract<int> Login(string userName, string password);
MessageContract<Guid> ConfirmUserWithSMS(int userId, int randomNumber);
}
var type = typeof(IAuthentication);
var methods = type.GetMethods();//return zero
var m = type.GetMethods(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);//return zero
var methods2 = type.GetTypeInfo().GetMethods();//return zero
var m2 = type.GetTypeInfo().GetMethods(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);//return zero
var methods3 = type.GetTypeInfo().DeclaredMethods.ToList();//return zero
几个小时后,当我将 Android 选项中的链接设置更改为 "None" 时,问题消失了:
我对 Xamarin 表单中的接口的 GetMethods 有问题 android。 当我获取接口的方法列表时,我总是一无所获。 这个问题是当我调用类型的 GetMethods 时该类型在另一个项目中(不在 android 项目中)并且如果该类型在 android 项目中我没有任何问题来获取接口方法。 例如:
[ServiceContract("AuthenticationService", InstanceType.SingleInstance)]
public interface IAuthentication
{
MessageContract<(int Id, Guid password)> RegisterUser(UserInfo userInfo);
MessageContract<int> Login(string userName, string password);
MessageContract<Guid> ConfirmUserWithSMS(int userId, int randomNumber);
}
var type = typeof(IAuthentication);
var methods = type.GetMethods();//return zero
var m = type.GetMethods(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);//return zero
var methods2 = type.GetTypeInfo().GetMethods();//return zero
var m2 = type.GetTypeInfo().GetMethods(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);//return zero
var methods3 = type.GetTypeInfo().DeclaredMethods.ToList();//return zero
几个小时后,当我将 Android 选项中的链接设置更改为 "None" 时,问题消失了: