c#使用对象方法而不转换该方法

c#使用对象方法而不转换该方法,c#,C#,我有以下代码: void运行码(对象代码列表){ //一些代码。。。 //现在我知道代码列表是一个列表 如果((List)codeList.Contains(“print”))Console.Write(“printing Text”); //其他一些代码。。。 } 我如何使用代码列表方法而不在此之前编写(List)? 我想使用这样的代码: if(codeList.Contains(“print”))。。。; 但这段代码不是标准的(我想),我在编译时会遇到一些错误 我不能使用void运行码(

我有以下代码:

void运行码(对象代码列表){
//一些代码。。。
//现在我知道代码列表是一个列表
如果((List)codeList.Contains(“print”))Console.Write(“printing Text”);
//其他一些代码。。。
}
我如何使用代码列表方法而不在此之前编写
(List)
? 我想使用这样的代码:

if(codeList.Contains(“print”))。。。;
但这段代码不是标准的(我想),我在编译时会遇到一些错误


我不能使用
void运行码(List codeList)
,因为它可以是
字符串
列表

使用
动态
关键字而不是
对象
。试试这个:

void RunCodes(dynamic codeList)
{
    if (codeList.Contains("print"))
        Console.Write("printing Text");
}

如果向方法传递了不同的类型(假设您要使用
动态
类型),则应使用不同的条件语句。

帮助我们帮助您-共享您获得的错误
代码列表。包含(“打印”)
应在
列表上工作?如果不能或不想指定显式类型,可以使用
dynamic
,但如果尝试调用不受支持的方法,仍然会出错。这一点不清楚,我不能使用void运行码(List codeList),因为它可以是字符串或列表,您可以将
string
强制转换为
List
,跟随你的样品above@PavelAnikhouski
代码列表
类型并不总是
列表
@A.L.如果您知道
代码列表
的类型,为什么不使用此类型而不是
对象
?并为此创建多个重载方法这如何解决传递
列表的问题呢?@Steve我在实际代码中有一些条件,我知道
代码列表的类型
@a.L。您应该在中为每种类型使用一个条件。您要传递给该方法的是哪种类型?@A.L。那么,也许您应该给出一个更精确的代码示例,或者在这个细节问题中进行更好的解释。