簡體   English   中英

如何使用動態參數調用方法(可以通過或不通過)C#

[英]How to call a method with dynamic parameters (can pass or without) C#

我有這樣的功能:

public void MyMethod(string param1=null, int? param2=null, Datetime? param3=null)
{
     //do something
}

所以當我稱它為:

MyMethod(param1,null,null) or MyMethod(null,param2,null) ...

但我不喜歡上面的方式,我可以這樣稱呼它:

MyMethod(param1) or MyMethod(param2) or MyMethod(param3)

您可以通過重載來完成此操作-即具有多個稱為MyMethod的方法。 但是它們將需要具有不同的簽名,這意味着不同類型的參數。

因此,您將擁有:

public void MyMethod(string param1)
{
     MyMethod(param1, null, null);
}

public void MyMethod(int param2)
{
     MyMethod(null, param2, null)
}

您還將需要您的原始方法-其他方法會調用該方法。

您可以這樣操作,相同類型的參數在重載中將是一個問題,但我確實贊成重載而不是這種方法

這樣稱呼它:

public void Main(string[] args)
{
    MyMethod(param2: value);
    MyMethod(param1: value);
    MyMethod(param3: value);
}

public void MyMethod(string param1=null, int? param2=null, Datetime? param3=null)
{
     //do something
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM