前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >记录一个assembly: Dependency造成的错误。

记录一个assembly: Dependency造成的错误。

作者头像
xiny120
发布2019-06-11 11:34:29
6060
发布2019-06-11 11:34:29
举报
文章被收录于专栏:毛毛v5

一个xamarin.forms工程需要一个Toast来提示信息,大家知道forms没有内置这个简单的控件,不可思议。要自己引入不同平台的实现。于是,偷懒用向导创建了一个c#类。结果用 [assembly: Dependency(typeof(Toast_Android))] 引入实现的时候居然提示: “错误CS7036 未提供与“DependencyAttribute.DependencyAttribute(string, LoadHint)”的必需形参“loadHintArgument”对应的实参” 。搞了半天摸不着头脑。突然想起来以前有添加过这种代码,成功了,没出错误啊。 于是翻出老代码。也是对比了半天。头都钻到屏幕里面去了,还是没看出啥区别。撸了一把冷静了一下,突然看出区别来了。如下图:

出错的代码

正确的代码

真是蛋疼啊。。刚开始直接忽略了系统生成的using部分,就是蓝色框框的部分。忽然看到using部分不一样,于是把正确的代码块的using部分替换到了出错的代码快中,立马ok! 天知道向导自动using引入的头文件是怎么污染了 assembly: Dependency . -.-!

代码语言:javascript
复制
using System;
using Xamarin.Forms;
using AdminTools.Services;
using WorkingWithWebview.Android;
using Android.Widget;

using Plugs.Droid;

[assembly: Dependency(typeof(Toast_Android))]
//[assembly: Dependency(typeof (Toast_Android),LoadHint.Default)]

namespace Plugs.Droid
{
    class Toast_Android : IToast
    {
        public void LongAlert(string message)
        {
            Toast.MakeText(Android.App.Application.Context, message, ToastLength.Long).Show();
        }
        public void ShortAlert(string message)
        {
            Toast.MakeText(Android.App.Application.Context, message, ToastLength.Short).Show();
        }
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.04.28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档