gibi diyebiliriz.
Ancak, C# 3.0'da, 'un'un yeni yöntemler gibi görünmesini sağlayan, ancak derleme zamanı büyüsü olan uzantı yöntemlerini kullanabilirsiniz.
public static class StringExtensions
{
public static String trim(this String s)
{
return s.Trim();
}
}
Kullanmak için:
kodunuz için Bunu yapmak için
String s = " Test ";
s = s.trim();
Bu yeni bir yöntem gibi görünüyor, ama bu kod tam olarak aynı şekilde derlenir:
String s = " Test ";
s = StringExtensions.trim(s);
Tam olarak neyi başarmaya çalışıyorsunuz? Belki de istediğini yapmanın daha iyi yolları var mı?
public static void Trim(this string s)
{
// implementation
}
Sen bu kesmek dahil ederek bir CLR 2.0 hedeflenen proje (3.5 derleyici) bu kullanabilirsiniz
:
namespace System.Runtime.CompilerServices
{
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class | AttributeTargets.Assembly)]
public sealed class ExtensionAttribute : Attribute
{
}
}
Teşekkürler Lassevk, harika cevap :) "Tam olarak ne yapmaya çalışıyorsunuz?" Her şimdi ve tekrar, bir dizeyi veya başka bir nesneyi işlemek için ihtiyacım var. Bunu yapmak için bir işlevi çağırmak yerine, onu bir yöntem olarak çağırmanın daha iyi olacağını düşünürdüm. Şu anda Asp.net'de web uygulamaları yazmaktayım ve Asp.net 3.x'i düşünmüyorum, bu yüzden şimdilik beklemek zorundayım. Ama cevabın için teşekkürler. – GateKiller