C#.Net Prototype Methods *

Question

How is it possible to make prototype methods in C#.Net?

In JavaScript, I can do the following to create a trim method for the string object:

String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g,"");
}

How can I go about doing this in C#.Net?

Answer

You can't dynamically add methods to existing objects or classes in .NET, except by changing the source for that class.

You can, however, in C# 3.0, use extension methods, which look like new methods, but are compile-time magic.

To do this for your code:

public static class StringExtensions
{
public static String trim(this String s)
{
return s.Trim();
}
}

To use it:

String s = "  Test  ";
s = s.trim();

This looks like a new method, but will compile the exact same way as this code:

String s = "  Test  ";
s = StringExtensions.trim(s);

What exactly are you trying to accomplish? Perhaps there are better ways of doing what you want?

< br > via < a class="StackLink" href=" http://stackoverflow.com/questions/4610/" >C#.Net Prototype Methods< /a>
Share on Google Plus

About Cinema Guy

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment