猿问

Unity Dependency 属性注入 无效

贴代码:


public class People
{
public People()
{

}
private Info info;

[Dependency]
public Info Info
{
set { info = value; }
get { return info; }
}

}

public class Info
{
public string Name { get; set; }
}

Main函数中使用:

container.RegisterType(typeof(People));

container.RegisterType(
typeof(Info));

People ppl
= new People();
Console.WriteLine(ppl.Info.Name);
//报错,Info为null,注入失败

如果加上这一句:

ppl.Info = container.Resolve<Info>();

就是正确的,但是我需要的是使用[Dependency]属性自动注入的方式实例化对象。

我查了很多例子,好像也没有做特别的配置啊。请高手帮忙看看,谢谢。

慕码人2483693
浏览 791回答 5
5回答

墨色风雨

container.RegisterType(typeof(People)); container.RegisterType(typeof(Info)); People ppl = new People(); //加上这个 container.BuildUp(ppl)

慕村9548890

我的加上了 Dependency,出现了以下错误,求解决...... 错误 1 特性“Dependency”在该声明类型中无效。它只在“assembly”声明中有效。

小唯快跑啊

问题解决没,我也遇到了

梦里花落0921

设置属性为public 即可

蝴蝶刀刀

自带的特性和unity的属性有冲突。加下这个引用 using Unity.Attributes; 就可以了。
随时随地看视频慕课网APP
我要回答