2012-01-12 3 views
0

Я хотел бы переопределить object.ToString() для структуры во время выполнения с использованием отражения? Мне нужно изменить одну структуру, добавить новую или изменить существующее переопределение в некоторой DLL, для которой у меня нет кода. Поэтому я собираюсь сделать это во время исполнения.C# переопределить object.ToString() во время выполнения с использованием отражения

Возможно ли это? Учебник для этого был бы превосходным? Если ответ НЕТ, тогда: ответ другой для класса?

+0

Подумайте 'динамических proxies' как' Linfu' или 'Castle' хотя я не; знает, это он может быть применен к структурам. –

+0

Зачем вам это нужно? –

ответ

3

Вы не можете изменить реализацию существующего класса или структуры с использованием отражения. Сожалею.

2

Не проще ли использовать метод расширения ToStringNew()?

public static class ExtensionMethods 
{ 
    public static string ToStringNew(MyStruct str) 
    { 
     return ...; 
    } 
} 

Я думал, что это то, что методы расширения были разработаны для ...

+0

Нет, я не хочу добавлять ToStringNew, мне нужно изменить существующую ToString. – watbywbarif

+1

Тогда вы не можете. –

+0

Будет ли этот ответ изменяться, если это класс, а не структура? – watbywbarif

Смежные вопросы