发文章
发文工具
撰写
网文摘手
文档
视频
思维导图
随笔
相册
原创同步助手
其他工具
图片转文字
文件清理
AI助手
留言交流
今天在网上找了一些unity资料研究,出了好多问题,编译无法通过,经人指点总算成功编译运行,做个笔记,整理如下:
一、下载unity ;
二、在项目中添加Microsoft.Practices.Unity.dll和Microsoft.Practices.Unity.Configuration.dll的引用;
三、app.config如下:
<?xml version=
"1.0"
encoding=
"utf-8"
?>
<configuration>
<configSections>
<section name=
"unity"
type=
"Microsoft.Practices.Unity.Configuration.UnityConfigurationSection,Microsoft.Practices.Unity.Configuration"
/>
</configSections>
<unity xmlns=
"http://schemas.microsoft.com/practices/2010/unity"
>
<alias alias=
"singleton"
"Microsoft.Practices.Unity.ContainerControlledLifetimeManager,Microsoft.Practices.Unity"
></alias>
"ISayHello2"
"TestUnity.ISayHello2,TestUnity"
"SayHello2Think"
"TestUnity.SayHello2Think,TestUnity"
"SayHello2ACloud"
"TestUnity.SayHello2ACloud,TestUnity"
"ISingletonDemo"
"TestUnity.ISingletonDemo,TestUnity"
"SingletonDemoImp1"
"TestUnity.SingletonDemoImp1,TestUnity"
<container name=
"TestUnity"
<register type=
mapTo=
name=
"think"
"aCloud"
"singletonDemoImp1"
</register>
</container>
</unity>
</configuration>
Unity的配置节的名称为”Unity",节处理程序的类型为 Microsoft.Practices.Unity.Configuration.UnityConfigurationSection,它包含在程序集 Microsoft.Practices.Unity.Configuration 中;
name:在注册此类型时使用的名称。此属性是可选的,如果不指定此属性,所在的 add 元素即为默认的类型映射。
type:容器中配置的源类型。如果这是映射注册,这就是映射的起始对象的类型;如果这是单件注册,这就是对象的类型。此属性是必须的。
mapTo:类型映射的目标类型。如果这是映射注册,这就是映射的目标对象的类型。此属性是可选的。
lifetime:设置用于给定的类型和名称的生命周期。是一个来自 LifetimeStyle 枚举的值。有效的值是 Transient(默认),它导致了容器每次都创建一个新的实例;以及Singleton,它使容器为每个请求返回同一实例。如果在配置一个单件时同时指定了type和mapto属性,SetSingleton 方法将返回指定在 mapTo 属性中的类型。如果mapTo属性没有指定值,SetSingleton 方法将返回指定在 type 属性中的类型。
四、新建一个项目,在里面加入如下几个文件:
ISayHello2.cs
SayHello2Think8848.cs
SayHello2ACloud.cs
ISingletonDemo.cs
SingletonDemoImpl.cs
五、Main方法如下:
static
void
Main()
{
UnityContainer myContainer=
new
UnityContainer();
UnityConfigurationSection section = (UnityConfigurationSection)ConfigurationManager.GetSection(
);
section.Configure(myContainer,
// section.Containers["TestUnity"].Configure(myContainer);
ISayHello2 sayHello2ACloud = myContainer.Resolve<ISayHello2>(
Console.WriteLine(sayHello2ACloud.sayHello());
}
来自: 昵称10504424 > 《工作》
0条评论
发表
请遵守用户 评论公约
Unity .NET下的原生Ioc框架,让一部分人先用起来
对了,再废话一句,我不知道Unity的QuickStarts里面怎么净是编程方式下使用Ioc,如果是这样使用Ioc,那么看起来微软是不打算提倡“非侵入式”这个概念了,唉,搞不懂的Microsoft...又说废话了,本文将...
Unity中Web.Config文件的配置与调用
Unity中Web.Config文件的配置与调用。二、加载配置信息到容器中1、加载一个单独的未命名容器或规定了默认容器:IUnityContainer containe...
一个简单的小程序演示Unity的三种依赖注入方式
4: <section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration"/>6: <unity>9: &l...
JavaScript前端开发案例教程-第5章 对象
利用构造函数创建对象的过程称为实 例化,利用构造函数创建出来的对象称为构造函数的实例对象。// obj重新引用一个新创建的对象obj = { age: 15 };// obj1仍然引用原来的对象console.log(obj1.a);// ...
@param | JSDoc 介绍
@param | JSDoc 介绍@param./** * Assign the project to a list of employees. * @param {Object[]} employees - The employees who are responsible for the project. * @param {string} employees[]...
Prism学习(2)---初识Unity
Prism学习(2)---初识Unity.Prism中提供了两种框架用于实现这种解藕,分别是Unity和MEF。下面将使用Unity来实现初步的解藕,这将为使用Prism进行彻底的解藕创造条件。一,在Application项目中添加Prism...
C# Unity的使用
1 namespace UnityDemo2 {3 public interface IProgrammer4 {5 void Working();2 3 namespace UnityDemo 4 { 5 public class CSharp : ...
【原创】unity native2D教程第四课:2D刚体和碰撞体介绍
在unity2D中,有Box Collider2D(盒子碰撞器),Circle Collider2D(圆形碰撞器),Edge Collider2D(边缘碰撞器)和Polygon Collider2D...
【Unity Shaders】Shader学习资源和Surface Shader概述
【Unity Shaders】Shader学习资源和Surface Shader概述写在前面写这篇文章的时候,我断断续续学习Unity Shader半年了,其实还是个门外汉...
微信扫码,在手机上查看选中内容