2012-04-13 224 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