[英]Inaccessible due to protection level in C#
我有包含抽象LoggerFile
类的引用object
。 我正在尝试访问它。 但由于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);
}
}
这是在创建的解决方案中工作的。 但是使用引用对象它显示错误。 请找图。
将您的课程声明为公共和非抽象课程,我认为它会解决您的问题。
public class LoggerFile
顺便说一句,为什么它甚至是Abstract
。 如果你只有一些静态成员,也许你应该把它变成静态本身。
尽管在大多数记录器实现中,遵循单例模式是有意义的(少数情况之一)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.