没有登录
中国开发网: 论坛: 程序员情感CBD: 贴子 632401
龙之吻
[技术贴]请教各位达人高手。
类c1里面有很多 象Service1这样的属性。Service2。。。。。。。Servicen
他们知识类型不同,也就是Service1的类型是Service1Client Service2的类型是Service2Client

我该如何避免出现这些相同的代码。

namespace abc
{
public class c1
{
public static Service1Client Service1
{
get
{
if (Singleton<Service1Client>.Instance.State == CommunicationState.Faulted
|| Singleton<Service1Client>.Instance.State == CommunicationState.Closed)
{
LoggingService.Debug("\t通讯错误,重新创建!Service1Client");
Singleton<Service1Client>.Instance.Abort();
Singleton<Service1Client>.Instance = null;
}
if (Singleton<Service1Client>.Instance.ClientCredentials.UserName.UserName == null)
{
Singleton<Service1Client>.Instance.ClientCredentials.UserName.UserName = UserName;
Singleton<Service1Client>.Instance.ClientCredentials.UserName.Password = PassWord;
}
return Singleton<Service1Client>.Instance;
}
}

public static Service2Client Service2
{
get
{
if (Singleton<Service2Client>.Instance.State == CommunicationState.Faulted
|| Singleton<Service2Client>.Instance.State == CommunicationState.Closed)
{
LoggingService.Debug("\t通讯错误,重新创建!Service2Client");
Singleton<Service2Client>.Instance.Abort();
Singleton<Service2Client>.Instance = null;
}
if (Singleton<Service2Client>.Instance.ClientCredentials.UserName.UserName == null)
{
Singleton<Service2Client>.Instance.ClientCredentials.UserName.UserName = UserName;
Singleton<Service2Client>.Instance.ClientCredentials.UserName.Password = PassWord;
}
return Singleton<Service2Client>.Instance;
}
}

}
public class Singleton<T>
{
private static T _instance;
public Singleton()
{
}
public static T Instance
{
get
{
if (_instance == null)
{
//获得实例,使用这个方法的前提是T要有公有的、无参数的构造函数        
_instance = (T)System.Activator.CreateInstance(typeof(T));
}
return _instance;
}
set
{
_instance = value;
}
}
}
}


机器人,这首歌学会了没有?

我们的目标是->没有蛀牙!

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录