我正在尝试将DependencyService与Auth0组件一起使用,并被System.NullReferenceException卡住:对象引用未设置为对象错误的实例.
以下是我在Android项目中的代码:
namespace LoginPattern.AndroID{[assembly: Xamarin.Forms.Dependency (typeof(LoginPattern.AndroID.Auth0WidgetLogin))]public class Auth0WidgetLogin : FormsApplicationActivity, LoginPattern.IAuth0WidgetLogin{ private Auth0ClIEnt auth0 = new Auth0ClIEnt ( "xxx.auth0.com", "xxxxxxxxxxxxxx"); public Auth0WidgetLogin () { } public async Task<LoginPattern.User> LoginUseAuth0EmbeddedWidget() { Auth0User usr = null; try { usr = await this.auth0.LoginAsync(Forms.Context); } catch (Exception ex) { throw ex; } LoginPattern.User userObj = new User(usr.Auth0Accesstoken); return userObj; }}}
在共享库中:
namespace LoginPattern{ public interface IAuth0WidgetLogin { Task<User> LoginUseAuth0EmbeddedWidget(); } public class User { public User( string accesstoken) { Accesstoken = accesstoken; } public string Accesstoken {get; private set;} public string Scope {get; private set;} }}
调用依赖项服务时,这里出现错误:
public async voID Login () { LoginPattern.User usr = null; usr = await DependencyService.Get<IAuth0WidgetLogin>().LoginUseAuth0EmbeddedWidget(); App.Current.PropertIEs["IsLoggedIn"] = true; }
解决方法:
将您的属性放在名称空间声明上方:
[assembly: Xamarin.Forms.Dependency (typeof(LoginPattern.AndroID.Auth0WidgetLogin))] namespace LoginPattern.AndroID { public class Auth0WidgetLogin : FormsApplicationActivity, LoginPattern.IAuth0WidgetLogin ... {
总结 以上是内存溢出为你收集整理的android-Auth0与Xamarin PCL依赖关系服务NullReferenceException全部内容,希望文章能够帮你解决android-Auth0与Xamarin PCL依赖关系服务NullReferenceException所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)