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。那么,也许您应该给出一个更精确的代码示例,或者在这个细节问题中进行更好的解释。