2012-04-13 202 views
2

我正在将一个工作的.NET 3.5应用程序转换为.NET 4.0,并在更改目标框架之后出现一个我从未见过的错误。string.Join抛出一个异常

成员'string.Join(string,params string [])'不能用实例引用访问;相反,使用类型名称来限定它。

下面是代码:

/// <summary> 
/// 
/// </summary> 
/// <returns>command arguments as single line</returns> 
public virtual string ToLine() 
{ 
    List<string> argumentsList = new List<string>(); 
    CollectArguments(argumentsList); 
    String args = null; 
    foreach (string s in argumentsList) 
     args = args.Join(" ", s); 

    return ComandName().Join(" ", args);    
} 

很明显的东西从3.5变为4.0,但我有一个很难搞清楚应该怎么修改这个代码把它编译。任何帮助是极大的赞赏。

回答

2
public virtual string ToLine() 
    { 
     List<string> argumentsList = new List<string>(); 
     CollectArguments(argumentsList); 
     String args = null; 
     args = string.Join(" ", argumentsList); 
     return string.Join(" ", ComandName(), args); 
    } 
7

JoinString一个静态方法,因此,使用的类型,而不是一个实例的这样

args = string.Join(" ", s); 
+0

哇调用它。我现在觉得很愚蠢。谢谢您的帮助。 – Chev 2012-04-13 20:00:10

+0

不客气:) – 2012-04-13 20:01:25