Можно ли динамически изменять код метода в C# без наследования, а только с отражением?
что-то вроде:
nameSpaceA.Foo.method1 = aDelegate;
Я не могу изменить/отредактировать класс Foo.
namespace nameSpaceA
{
class Foo
{
private void method1()
{
// ... some Code
}
}
}
Моя конечная цель - динамически изменить код:
public static IList<XPathNavigator> EnsureNodeSet(IList<XPathItem> listItems);
В System.Xml.Xsl.Runtime.XslConvert.cs
превратить:
if (!item.IsNode)
throw new XslTransformException(Res.XPath_NodeSetExpected, string.Empty);
в:
if (!item.IsNode)
throw new XslTransformException(Res.XPath_NodeSetExpected, item.value);