您的位置:首页 > 移动开发 > Unity3D

Unity Application Block 学习笔记 之 Resolve方法

2013-01-25 17:48 531 查看
Resolve方法可以返回指定类型的所有注册对象列表

public interface IService

{

void SayHello();

}

public class Chinese : IService

{

public void SayHello(){ Console.WriteLine("你好"); }

}

public class English : IService

{

public void SayHello() { Console.WriteLine("Hello"); }

}

public class XXX : IService

{

public void SayHello() { Console.WriteLine("@#$%^&*"); }

}

class Program

{

static void Main(string[] args)

{

IUnityContainer container = new UnityContainer();

container.RegisterType<IService, Chinese>("cn");
//命名注册

container.RegisterType<IService, English>("en");//命名注册

container.RegisterType<IService, XXX>();

var man = container.ResolveAll<IService>();

foreach (var men in man)

{

men.SayHello();

}

Console.Read();

}

}

输出结果:

你好

Hello

非命名注册将不会在ResolveAll方法中返回对应实例
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: