C # переопределить object.ToString () во время выполнения с использованием отражения - PullRequest
0 голосов
/ 12 января 2012

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

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

Ответы [ 2 ]

3 голосов
/ 12 января 2012

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

2 голосов
/ 12 января 2012

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

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

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

...