public override void GetData(object target, Stream outgoingData) { if (target is MethodBase method) { try { var mbi = MethodBodyInfo.Create(method); var formatter = new BinaryFormatter(); formatter.Serialize(outgoingData, mbi); } catch (Exception) { } } }
public static MethodBodyInfo Create(MethodBase method) { var mbi = new MethodBodyInfo { Identity = method.GetHashCode(), TypeName = method.GetType().Name, MethodToString = method.ToString() }; var visitor = new ReadableILStringVisitor( new MethodBodyInfoBuilder(mbi), DefaultFormatProvider.Instance); var reader = ILReaderFactory.Create(method); reader.Accept(visitor); return(mbi); }
public MethodBodyInfoBuilder(MethodBodyInfo mbi) { m_mbi = mbi; }