I was wondering if there is a way to create extension methods using Visual Studio 2005 and the 2.0 framework?
public static class StringExtensions
{
public static void SomeExtension(this String targetString)
{
}
}
If there is no way to do this, what would the equivalent be? Just create static methods in some sort of library class?
You can create extension methods using .Net framework 2.0, if you use the C# 3.0 compiler and Visual Studio 2008 or greater.
The catch is that you have to add this code to your project:
namespace System.Runtime.CompilerServices
{
public class ExtensionAttribute : Attribute { }
}
Basically you need to re declare the ExtensionAttribute in Core.dll (.Net 3.5 +), in your project.
No, this isn't possible in .Net 2.0 (without using the C# 3.0 compiler). You can just create static methods that do exactly the same thing however:
public static class StringExtensions
{
public static void SomeExtension(String targetString)
{
// Do things
}
}
// Example use:
StringExtensions.SomeExtension(targetString);
In reality extension methods are just a shorthand way of writing the above.