能不能详细的解释停这段代码的意思
能不能详细的解释下这段代码的意思
namespace Taeheesoft.DALFactory
{
public sealed class DataAccess
{
private static readonly string assemblyPath = ConfigurationManager.AppSettings["AssemblyDAL"];
//add key="AssemblyDAL" value="PetShop4.SQLServerDAL"/>在这里AssemblyDAL是什么意思
private static readonly string namespacePath = ConfigurationManager.AppSettings["NamespaceDAL"];
//<add key="NamespaceDAL" value="Taeheesoft.SQLServerDAL"/>在这里NamespaceDAL是什么意思
private DataAccess() { }
/// <summary>
/// Create a interface
/// </summary>
/// <remarks>
/// 创建Demo 的数据层接口
/// </remarks>
/// <returns></returns>
public static IDemo CreateDemo()
{
string className = namespacePath + ".Demo";
return (IDemo)Assembly.Load(assemblyPath).CreateInstance(className);//这2行代码分别是什么意思
}
}
}
------解决方案--------------------
namespace Taeheesoft.DALFactory
{
public sealed class DataAccess
{
private static readonly string assemblyPath = ConfigurationManager.AppSettings["AssemblyDAL"];
//add key="AssemblyDAL" value="PetShop4.SQLServerDAL"/>在这里AssemblyDAL是什么意思
private static readonly string namespacePath = ConfigurationManager.AppSettings["NamespaceDAL"];
//<add key="NamespaceDAL" value="Taeheesoft.SQLServerDAL"/>在这里NamespaceDAL是什么意思
private DataAccess() { }
/// <summary>
/// Create a interface
/// </summary>
/// <remarks>
/// 创建Demo 的数据层接口
/// </remarks>
/// <returns></returns>
public static IDemo CreateDemo()
{
string className = namespacePath + ".Demo";
return (IDemo)Assembly.Load(assemblyPath).CreateInstance(className);//这2行代码分别是什么意思
}
}
}
------解决方案--------------------
- C# code
namespace Taeheesoft.DALFactory { public sealed class DataAccess { private static readonly string assemblyPath = ConfigurationManager.AppSettings["AssemblyDAL"]; //add key="AssemblyDAL" value="PetShop4.SQLServerDAL"/>//数据访问层(DAL)的程序集名称 private static readonly string namespacePath = ConfigurationManager.AppSettings["NamespaceDAL"]; // <add key="NamespaceDAL" value="Taeheesoft.SQLServerDAL"/>>//数据访问层(DAL)的命名空间 private DataAccess() { } /// <summary> /// Create a interface /// </summary> /// <remarks> /// 创建Demo 的数据层接口 /// </remarks> /// <returns> </returns> public static IDemo CreateDemo() { string className = namespacePath + ".Demo"; //命名空间+类名称=完整的类名称 例如:System+Int32=System.Int32 return (IDemo)Assembly.Load(assemblyPath).CreateInstance(className); //Assembly.Load加载程序集 //CreateInstance动态创建类(className) } } } //这段代码是根据程序集,命名空间和类名称动态的创建一个类,利用了设计模式中的简单工厂模式。 //IDemo是接口