【发布时间】:2019-12-06 14:56:47
【问题描述】:
我有引用 object,其中包含抽象 LoggerFile 类。我正在尝试访问它。但由于protection 级别,它显示无法访问。请任何人帮助我理解它。
abstract class LoggerFile
{
private static String logFile = null;
/// <summary>
/// Logfile Property
/// </summary>
public static string LogFile { get => logFile; set => logFile = value; }
/// <summary>
/// Set logFile
/// </summary>
/// <param name="logFile">The absolute path to file for writting logs</param>
public static void SetLogFile(String logFile)
{
LogFile = LogFile ?? logFile;
if (!File.Exists(LogFile))
{
File.Create(LogFile).Close();
}
}
}
}
我在另一个班级里这样称呼它。
using DriverAutomation.Loggin[enter image description here][1]g;
public class Devcon
{
private static Devcon devcon = null;
private readonly String devconEXE;
private readonly String devconPath;
private readonly String devconExeName;
private readonly Logger logger;
/// <summary>
/// DevconStatus Property for devcon status outcome backup
/// </summary>
public readonly String devconStatus;
/// <summary>
/// Initializes the Devcon Singleton Instance
/// </summary>
private Devcon()
{
devcon = this;
logger = Logger.GetLogger(GetType().Name, LoggerFile.LogFile);
devconExeName = "devcon.exe";
devconEXE = Path.Combine(Directory.GetCurrentDirectory(), devconExeName);
}
}
这是在创建的解决方案中工作的。但是使用参考对象却显示错误。请找到图片。
【问题讨论】:
-
错误显示在哪一行?
-
Exceptions.InvalidArgumentException: 参数 callerClassName 不能为 null 或为空或仅包含空白字符。
-
由于保护级别,无法访问记录器文件
-
尝试将其设为 "public abstract class LoggerFile" ,这可能会有所帮助。
标签: c#