俊生 的个人资料找不到服务器照片日志列表 工具 帮助
6月22日

Abstract factory

目的:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。

================================================

public interface IFruit

{

}

 

public class Apple : IFruit

{

       public Apple()

{

       Console.WriteLine(“An apple is got.”);

}

}

 

public class Orange : IFruit

{

       public Orange

{

       Console.WriteLine(“An Orange is got.”);

}

}

 

public FruitFactory

{

       public IFruit MakeFruit(string fruitName)

       {

              IFruit myFruit = null;

              Try

{

       Type type = System.GetType(fruitName,true);

       myFruit = (IFruit)Activator.CreateInstane(type);

}

Catch (TypeLoadException e)

{

Console.WriteLine(“I don’t know what fruit you want to, caught exception – {0}”,e.Message);

}

return myFruit;

}

}

程序引自:www.bbs.infoxa.com

========================

System.Activator:静态方法,以下是msdn的解释。

Activator 类

包含特定的方法,用以在本地或从远程创建对象类型,或获取对现有远程对象的引用。

CreateInstance 方法通过调用与指定参数匹配程度最高的构造函数来创建在程序集中定义的类型的实例。如果没有指定任何参数,则将调用不带任何参数的构造函数(即默认构造函数)。

您必须具有足够的权限才能搜索和调用构造函数,否则将引发异常。默认情况下,在搜索构造函数的过程中只考虑公共构造函数。如果找不到任何构造函数或默认构造函数,则将引发异常。

联编程序参数指定一个对象,该对象在程序集中搜索合适的构造函数。您可以指定自己的联编程序和搜索条件,但如果没有指定任何联编程序,则使用默认联编程序。有关更多信息,请参见 System.Reflection.BinderSystem.Reflection.BindingFlags 类。

证据参数会影响构造函数的安全策略和权限。有关更多信息,请参见 System.Security.Policy.Evidence 类。

类型的实例可以在本地或远程站点上创建。如果从远程创建类型,一个激活属性参数将指定远程站点的 URI。在到达远程站点之前,创建实例的调用可能会通过中间站点进行传递。其他激活属性可以修改该调用在远程和中间站点上进行操作所处的环境(或上下文)。

如果在本地创建实例,将返回对该对象的引用。如果从远程创建实例,将返回对代理的引用。通过代理,远程对象可以像本地对象一样进行操作。

GetObject 方法创建当前运行的远程对象、由服务器激活的已知对象或 XML Web services 的代理。您可以指定连接介质(即通道)。有关更多信息,请参见 System.Runtime.Remoting.Channels.ChannelServices 类。

程序集包含类型定义。CreateInstance 方法从当前所运行的程序集创建类型的实例。CreateInstanceFrom 方法从包含程序集的文件创建实例。CreateComInstanceFrom 方法从包含程序集的文件创建 COM 对象的实例。

评论

请稍候...
很抱歉,您输入的评论太长。请缩短您的评论。
您没有输入任何内容,请重试。
很抱歉,我们当前无法添加您的评论。请稍后重试。
若要添加评论,需要您的家长授予您相应权限。请求权限
您的家长禁用了评论功能。
很抱歉,我们当前无法删除您的评论。请稍后重试。
您已超过了一天之内允许提供的评论数上限。请在 24 小时后重试。
因为我们的系统表明您可能在向其他用户提供垃圾评论,您的帐户已禁用了评论功能。如果您认为我们错误地禁用了您的帐户,请联系 Windows Live 支持部门
完成下面的安全检查,您提供评论的过程才能完成。
您在安全检查中键入的字符必须与图片或音频中的字符一致。

若要添加评论,请使用您的 Windows Live ID 登录(如果您使用过 Hotmail、Messenger 或 Xbox LIVE,您就拥有 Windows Live ID)。登录


还没有 Windows Live ID 吗?请注册

引用通告

此日志的引用通告 URL 是:
http://justinxiaownerspace.spaces.live.com/blog/cns!AEE6B3A2845872C0!318.trak
引用此项的网络日志