不好意思,我要补充一下问题: 代码如下: class A { private A() { } public static A GetInstance() {} public string GetConnectStringByRole() {} }在别的类中调用类A的代码如下: { A b; }但为什么b不能这么调用:b.GetInstance.GetConnectStringByRole()?
静态函数的写法是<类名称>.<函数>
拜托,你要用.GetConnectStringByRole() 就得对A 实例化class A { private A() { } public static A GetInstance() {} public string GetConnectStringByRole() {} }在别的类中调用类A的代码如下: { A b; b=new A(); } 可以了
请注意那是一个STATIC FUNCTION 用句C++说法就是 STATIC FUNCTION 是没有THIS指针的 就不可以用B.
仁兄! 那我要通过GetInstance该怎么写?
不就是一个单例模式么, 去JAVA中的设计中找一下
我是想把下面的vb.net代码改成c#,到现在我还是不知道,可不可以帮我改成c#! Public Class NWDSAConnStrings Private Shared m_Instance As NWDSAConnStrings Private Sub New() End Sub Public Shared Function GetInstance() As NWDSAConnStrings If m_Instance Is Nothing Then m_Instance = New NWDSAConnStrings() End If Return m_Instance End Function Public Function GetConnectStringByRole(ByVal Role As NWDSARequest.UserRole) As String End Function End Class在别的类中调用类NWDSAConnStrings的代码如下: Public g_ConnStrings As NWDSAConnStrings m_conSQL.ConnectionString ==g_ConnStrings.GetInstance.GetConnectStringByRole(Request.Role)
class A { private static A a=null; private A() { } public A GetInstance() { if(a<>null) a= new a() return a; } public string GetConnectStringByRole() {} }
A.GetInstance()
代码如下:
class A
{
private A()
{
}
public static A GetInstance()
{}
public string GetConnectStringByRole()
{}
}在别的类中调用类A的代码如下:
{
A b;
}但为什么b不能这么调用:b.GetInstance.GetConnectStringByRole()?
就得对A 实例化class A
{
private A()
{
}
public static A GetInstance()
{}
public string GetConnectStringByRole()
{}
}在别的类中调用类A的代码如下:
{
A b;
b=new A();
}
可以了
用句C++说法就是 STATIC FUNCTION 是没有THIS指针的
就不可以用B.
那我要通过GetInstance该怎么写?
Public Class NWDSAConnStrings
Private Shared m_Instance As NWDSAConnStrings Private Sub New()
End Sub Public Shared Function GetInstance() As NWDSAConnStrings
If m_Instance Is Nothing Then
m_Instance = New NWDSAConnStrings()
End If
Return m_Instance
End Function
Public Function GetConnectStringByRole(ByVal Role As NWDSARequest.UserRole) As String
End Function
End Class在别的类中调用类NWDSAConnStrings的代码如下:
Public g_ConnStrings As NWDSAConnStrings
m_conSQL.ConnectionString ==g_ConnStrings.GetInstance.GetConnectStringByRole(Request.Role)
{
private static A a=null;
private A()
{
}
public A GetInstance()
{
if(a<>null)
a= new a()
return a;
}
public string GetConnectStringByRole()
{}
}