Reputation: 59173
I am converting a working .NET 3.5 application to .NET 4.0 and after changing the target framework I'm getting an error I've never seen before.
Member 'string.Join(string, params string[])' cannot be accessed with an instance reference; qualify it with a type name instead.
Here is the code:
/// <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);
}
Obviously something changed from 3.5 to 4.0 but I'm having a hard time figuring out how I should modify this code to get it to compile.
Upvotes: 3
Views: 990
Reputation: 12776
public virtual string ToLine()
{
List<string> argumentsList = new List<string>();
CollectArguments(argumentsList);
String args = null;
args = string.Join(" ", argumentsList);
return string.Join(" ", ComandName(), args);
}
Upvotes: 2
Reputation: 116401
Join
is a static method on String
, so call it using the type instead of an instance like this
args = string.Join(" ", s);
Upvotes: 7