Example #1
0
        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)
                {
                }
            }
        }
Example #2
0
        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);
        }
Example #3
0
 public MethodBodyInfoBuilder(MethodBodyInfo mbi)
 {
     m_mbi = mbi;
 }