将null传递给C#中的函数时消除歧义

bpe*_*kes 1 c#

我有两个功能,它们的第二个参数不同.例:

public IEnumerable<Thing> Get(string clause, List<Things> list)
{
}

public IEnumerable<Thing> Get(string clause, List<OtherThing> list)
{
}
Run Code Online (Sandbox Code Playgroud)

我想调用此函数的第一个实例,但我想传递null作为第二个参数.有没有办法指定null的"类型"?

Ser*_*rvy 8

转换null文字:

Get("", (List<Things>)null)
Run Code Online (Sandbox Code Playgroud)

首先将它存储在变量中:

List<Things> list = null;
Get("", list);
Run Code Online (Sandbox Code Playgroud)

使用反射.(我不会展示一个例子,因为它不必要地复杂化.)