我正在閱讀以下關于 .Net Core 的 Window Services 的文章
看不到class關鍵字時如何實作介面“ServiceBase”?
class LoggingService : ServiceBase
{
private const string _logFileLocation = @"C:\temp\servicelog.txt";
private void Log(string logMessage)
{
Directory.CreateDirectory(Path.GetDirectoryName(_logFileLocation));
File.AppendAllText(_logFileLocation, DateTime.UtcNow.ToString() " : " logMessage Environment.NewLine);
}
protected override void OnStart(string[] args)
{
Log("Starting");
base.OnStart(args);
}
protected override void OnStop()
{
Log("Stopping");
base.OnStop();
}
protected override void OnPause()
{
Log("Pausing");
base.OnPause();
}
}
VS2022 中的新 Program.cs
// See https://aka.ms/new-console-template for more information
using ClassLibrary1;
var result = Class1.AddNumbers(1, 2);
Console.WriteLine($"1 2={result}");
uj5u.com熱心網友回復:
您必須完整地寫出來,您使用的語法是支持有限事物的簡寫
public class MyService :ServiceBase{
.. implement service base here
}
public static class Program
{
public static void Main()
{
// use it here
}
}
不幸的是vs2022默認產生這個,因為它是如此有限
uj5u.com熱心網友回復:
我第二次誤解了這篇文章。上面顯示的代碼只是 Program.cs 呼叫的常規類。對于那個很抱歉。
uj5u.com熱心網友回復:
這段代碼
using ClassLibrary1;
var result = Class1.AddNumbers(1, 2);
Console.WriteLine($"1 2={result}");
只是以下的簡寫形式
using ClassLibrary1;
public static class Program
{
public static void Main()
{
var result = Class1.AddNumbers(1, 2);
Console.WriteLine($"1 2={result}");
}
}
因此,您可以使用“完整”版本,然后添加繼承等。
您可以通過鏈接https://aka.ms/new-console-template找到有關此速記版本的更多資訊
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/439316.html
上一篇:將html選擇系結到長C#陣列
