62,243
社区成员




private static readonly IFriendLink friendLink = DataAccess.CreateFriendLink(); //这句为什么可以这样用?
private static readonly IFriendLink friendLink = DataAccess.CreateFriendLink();
/// <summary>
/// 利用单例模式创建数据层实例
/// </summary>
public sealed class DataAccess
{
private static GuanBar.IDAL.IDataFunction singletonInstance = null;
private static readonly object thislock = new object();
private static readonly string dataNameSpace = "GuanBar.SQL2005DAL";
//private static readonly string dataNameSpace = ConfigurationManager.AppSettings["DAL"];
private DataAccess(){}
static DataAccess()
{
CreateInstance();
}
public static GuanBar.IDAL.IDataFunction CreateInstance()
{
string className = dataNameSpace + ".DataFunction";
if (singletonInstance == null)
{
lock (thislock)
{
if (singletonInstance == null)
singletonInstance = (GuanBar.IDAL.IDataFunction)System.Reflection.Assembly.Load(dataNameSpace).CreateInstance(className);
}
}
return singletonInstance;
}
}
/// <summary>
/// 利用单例模式创建数据层实例
/// </summary>
public sealed class DataAccess1
{
private static readonly string dataNameSpace = ConfigurationManager.AppSettings["DAL"];
private DataAccess1() { }
public static GuanBar.IDAL.IDataFunction myInstance()
{
string className = dataNameSpace + ".DataFunction";
return (GuanBar.IDAL.IDataFunction)System.Reflection.Assembly.Load(dataNameSpace).CreateInstance(className);
}
}