c# 主要 Class 包括 "subclass"
c# Main Class include "subclass"
嘿,我有两个 classes
class Main
{
public exLog exLog;
public Main()
{
}
}
和
class exLog
{
public exLog()
{
}
public exLog(String where)
{
}
public exLog(String where, String message)
{
}
}
我试图在不给 exLog 参数的情况下直接调用 exLog。所以我可以用 Main 方法调用任何 class。
我应该怎么做?
public String ReadFileString(String fileType, String fileSaveLocation)
{
try
{
return "";
}
catch (Exception)
{
newMain.exLog("", "");
return null;
}
}
我喜欢将它们称为 Main 中的函数
实例化即可调用
public Main()
{
exLog = new exLog();
exLog.MethodInClass();
}
此外,如果您不在同一个程序集中,则需要制作 exLog public。
最后,这是 C#,风格规定 class 名称应该是 PascalCased。养成好习惯。
我认为您对 classes、实例、构造函数和方法感到困惑。这不起作用:
newMain.exLog("", "");
因为 exLog
在这种情况下是 属性,而不是 方法 。 (这令人困惑,因为您对 class 和 属性 使用相同的名称,这就是为什么大多数约定不鼓励这样做的原因)。
您可以在实例上调用方法:
newMain.exLog.Log("", "");
但是您需要在 exLog
class 中更改方法的名称(并添加 return 类型),这样它们就不会被解释为构造函数:
class exLog
{
public void Log()
{
}
public void Log(String where)
{
}
public void Log(String where, String message)
{
}
}
我觉得你想要 Adapter Pattern
class Main
{
private exLog exLog;
public Main()
{
}
public void ExLog()
{
exLog = new exLog();
}
public void ExLog(String where)
{
exLog = new exLog(where);
}
public void ExLog(String where, String message)
{
exLog = new exLog(where, message);
}
}
class Main
{
public exLog exLog;
public Main()
{
exLog = new exLog();
exLog.ReadFileString("", "");
}
}
嘿,我有两个 classes
class Main
{
public exLog exLog;
public Main()
{
}
}
和
class exLog
{
public exLog()
{
}
public exLog(String where)
{
}
public exLog(String where, String message)
{
}
}
我试图在不给 exLog 参数的情况下直接调用 exLog。所以我可以用 Main 方法调用任何 class。 我应该怎么做?
public String ReadFileString(String fileType, String fileSaveLocation)
{
try
{
return "";
}
catch (Exception)
{
newMain.exLog("", "");
return null;
}
}
我喜欢将它们称为 Main 中的函数
实例化即可调用
public Main()
{
exLog = new exLog();
exLog.MethodInClass();
}
此外,如果您不在同一个程序集中,则需要制作 exLog public。
最后,这是 C#,风格规定 class 名称应该是 PascalCased。养成好习惯。
我认为您对 classes、实例、构造函数和方法感到困惑。这不起作用:
newMain.exLog("", "");
因为 exLog
在这种情况下是 属性,而不是 方法 。 (这令人困惑,因为您对 class 和 属性 使用相同的名称,这就是为什么大多数约定不鼓励这样做的原因)。
您可以在实例上调用方法:
newMain.exLog.Log("", "");
但是您需要在 exLog
class 中更改方法的名称(并添加 return 类型),这样它们就不会被解释为构造函数:
class exLog
{
public void Log()
{
}
public void Log(String where)
{
}
public void Log(String where, String message)
{
}
}
我觉得你想要 Adapter Pattern
class Main
{
private exLog exLog;
public Main()
{
}
public void ExLog()
{
exLog = new exLog();
}
public void ExLog(String where)
{
exLog = new exLog(where);
}
public void ExLog(String where, String message)
{
exLog = new exLog(where, message);
}
}
class Main
{
public exLog exLog;
public Main()
{
exLog = new exLog();
exLog.ReadFileString("", "");
}
}