具有许多可选参数的C#API需要所有参数中的值

Mau*_*itz 2 c#

我怀疑这将是一个简单的解决方案,但是......这是方法的(实用的)API ...

public void Add(int StyleIn = 0, string DefaultValueIn = "",
  string ComboListValuesIn = "", string MinIn = "", string MaxIn = "",
  int MaxLengthIn = -1, bool HighlightIn = false,
  string StartDateIn = "", string EndDateIn = "", string MethodIn = "",
  string AccountIn = "", string AmountTypeIn = "", bool PositiveIn = true,
  int ResultTypeIn = -1, DtaColumn DtaColIn = null)
Run Code Online (Sandbox Code Playgroud)

都好?好吧,当我试着打电话给它时......

DC.Add(dbEditText, "Property", , , , , , , , , , , , , DC);
Run Code Online (Sandbox Code Playgroud)

它告诉我,每个空参数都丢失了.我仔细地数了一下,他们都在那里.如果我用""替换空的那么它开始工作......所以它就像是忽略了选项?

如果您想知道,此代码是从VS转换而来的.

Eld*_*iev 8

在这种情况下,您需要将最后一个参数命名为:

DC.Add(dbEditText, "Property", DtaColIn: DC);
Run Code Online (Sandbox Code Playgroud)