Рассмотрим следующий код:Обратиться в перегрузкой метод расширения в классе
class Program
{
static void Main(string[] args)
{
var t = new Test();
t.ToString();
Console.WriteLine(t.ToString());
Console.ReadKey();
}
}
public class Test
{
}
public static class TestHelper
{
public static string ToString(this Test test)
{
return "HashValue of test instance: " + test.GetHashCode();
}
}
Как я могу просто назвать свою перегружать (по крайней мере VS говорит мне, что ToString()
имеет +1 overload
) метод расширения? Начиная с Test
наследует (по всем классам в .NET Framework afaik) от object
. Класс object
имеет расширение ToString()
, которое возвращает что-то вроде <namespace-wher-the-class-is-locatet.<class-name>
. Но что делать, если я хочу ToString()
моей собственной реализации, которая не принимает других параметров?
И НЕТ, я не хочу реализовывать ToString()
внутри моего класса. Я хочу сделать это как метод расширения. (Как расширение для SecureString, чтобы преобразовать его из неуправляемого, зашифрованного в управляемое, дешифрованное)
Заранее спасибо!
Я не вижу смысла в этом .. может кто-нибудь объяснить, как это может быть полезно? – Sebi
Как я писал: например, как расширение для ** System.Securety.SecureString **, чтобы преобразовать его обратно в читаемую строку? – Radinator