c#方法中的参数类型

use*_*663 -1 c# c#-3.0 c#-4.0

我有一个方法

public string GetValue(TextBox txt, DropdownList ddl)
{
    if(txt != null)
        return txt.text;
    else
        return ddl.SelectedValue;
}
Run Code Online (Sandbox Code Playgroud)

我只能为另一个param传递textbox或ddl和null.我该如何解决这个问题?动态地我调用该方法,并且一次存在TextBox或DDl.所以基于我必须从那个控制返回值.

我收到一些错误消息,因为当我传递Null时,Method有无效的参数.

Ant*_*ram 6

我只能为另一个param传递textbox或ddl和null.我该如何解决这个问题?

如果这是您要强制执行的业务规则,则不进行解决,而是进行更改.使用方法重载仅接受您实际想要使用的参数类型.

public string GetValue(TextBox tb)
public string GetValue(DropDownList ddl)
Run Code Online (Sandbox Code Playgroud)