谁帮我解释一下C#中的CreateObject()方法。

syjwbl 2010-03-26 01:40:20
public static IArticleSource CreateArticleSource()
{

string ClassNamespace = AssemblyNameSpace + ".ArticleSourceService";
object objType = CreateObject(AssemblyPath, ClassNamespace);
return objType as IArticleSource;
}
这个是一段代码。大家帮我详细的解释一下,最好还能提供点这方面好的学习资料。
...全文
211 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
syjwbl 2010-03-30
  • 打赏
  • 举报
回复
大家说的不错,散分了。
wuyq11 2010-03-26
  • 打赏
  • 举报
回复
创建工厂方法
通过反射机制,实例化接口对象
CreateObject自定义方法
syjwbl 2010-03-26
  • 打赏
  • 举报
回复
大家说的很对啊。以下是自定义的方法:

/// <summary>
/// 创建对象或从缓存获取
/// </summary>
/// <param name="AssemblyPath">程序集名称</param>
/// <param name="ClassNamespace">指定类的命名空间</param>
/// <returns></returns>
public static object CreateObject(string AssemblyPath, string ClassNamespace)
{
object objType = DataCache.GetCache(ClassNamespace);//从缓存读取
if (objType == null)//判断是否NULL
{
try
{
objType = Assembly.Load(AssemblyPath).CreateInstance(ClassNamespace);//反射创建
DataCache.SetCache(ClassNamespace, objType);// 写入缓存
}
catch
{ }
}
return objType;
}
allen_21229 2010-03-26
  • 打赏
  • 举报
回复
从代码中可以看出,
变量ClassNamespace是一个完整的类名称(包括命名空间名)
变量AssemblyPath是程序集的名称
方法CreateObject(AssemblyPath, ClassNamespace)应该是用来创建类ArticleSourceService的一个对象,就常说的用反射来创建对象.
qldsrx 2010-03-26
  • 打赏
  • 举报
回复
鼠标右键点“转到定义”,看看那函数是怎么写的。自定义函数不见代码谁知道是什么啊。
tkscascor 2010-03-26
  • 打赏
  • 举报
回复
点中这个方法. 按F12 就知道了....................
bancxc 2010-03-26
  • 打赏
  • 举报
回复
自定义方法吧

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧