我正在查看我的前任留下的代碼庫,并對以下類定義感到困惑,它似乎復制了 Microsoft 定義的類:
//...
using System.Diagnostics;
namespace Processes;
public class Process
{
public Process(ProcessType processType, ILogger log)
{
this.ProcessType = processType;
this.StopWatch = Stopwatch.StartNew();
this.PopulateProcessors();
Log.Process = this;
Log.Logger = log;
}
//...
}
這些檔案持續了一段時間,其中包括一個名為 的方法的定義Start()。我很困惑,因為微軟已經在命名空間中定義了一個Process類和一個Start()方法,System.Diagnostics這里正在使用它。
那么我們如何定義一個已經存在但沒有被繼承的類呢?我的知識顯然存在差距。我在這里想念什么?
uj5u.com熱心網友回復:
您可以擁有多個具有相同名稱的類,只要它們具有不同的命名空間即可。例如:
System.Threading.Timer;
System.Windows.Forms.Timer;
這些命名空間都有一個名為Timer. 這通常會導致歧義,但您可以通過以下方式同時使用它們:
using ThreadingTimer = System.Threading.Timer;
using FormsTimer = System.Windows.Forms.Timer;
void StartFormsTimer()
{
FormsTimer myFormsTimer = new FormsTimer();
myFormsTimer.Interval = 1000;
myFormsTimer.Start();
}
或者,您可以在每次使用時添加命名空間Timer:
System.Threading.Timer threadingTimer = new System.Threading.Timer();
System.Windows.Forms.Timer formsTimer = new System.Windows.Forms.Timer();
這是個人喜好的問題。我通常會盡量避免使用多個具有相同名稱的類以避免混淆。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/509945.html
標籤:C#。网
