Dot-Net

如何在 C# 中使用建構子返回一個值?

  • January 10, 2019

我遵循一個約定,我不會在類中使用任何列印語句,但我已經在建構子中進行了參數驗證。請告訴我如何將我在建構子中完成的驗證返回給 Main 函式。

建構子確實返回一個值 - 正在構造的類型……

建構子不應該返回任何其他類型的值。

在建構子中進行驗證時,如果傳入的值無效,則應拋出異常。

public class MyType
{
   public MyType(int toValidate)
   {
     if (toValidate < 0)
     {
       throw new ArgumentException("toValidate should be positive!");
     }
   }
}

建構子沒有返回類型,但您可以使用ref關鍵字通過引用傳遞值。最好從建構子中拋出異常以指示驗證失敗。

public class YourClass
{
   public YourClass(ref string msg)
   {
        msg = "your message";
   }

}    

public void CallingMethod()
{
   string msg = string.Empty;
   YourClass c = new YourClass(ref msg);       
}

引用自:https://stackoverflow.com/questions/13497626