예제 #1
0
        private void WritePropertyOrEventAccessor(CilMethodDefinition accessor)
        {
            int           i = 0;
            StringBuilder genericParameters = new StringBuilder();

            foreach (var genericParameter in accessor.GenericParameters)
            {
                if (i == 0)
                {
                    genericParameters.Append('<');
                }
                genericParameters.Append(genericParameter);
                genericParameters.Append(',');
                i++;
            }

            if (i > 0)
            {
                genericParameters.Length -= 1; //Delete trailing ,
                genericParameters.Append('>');
            }

            if (accessor.Signature.Header.IsInstance)
            {
                _writer.Write("instance ");
            }
            _writer.Write(string.Format("{0} {1}::{2}{3}{4}", accessor.Signature.ReturnType, accessor.DeclaringType.FullName, accessor.Name, genericParameters.ToString(), CilDecoder.DecodeSignatureParamerTypes(accessor.Signature)));
            _writer.WriteLine();
        }
예제 #2
0
        public string GetDecodedSignature()
        {
            string        attributes = GetAttributesForSignature();
            StringBuilder signature  = new StringBuilder();

            if (Signature.Header.IsInstance)
            {
                signature.Append("instance ");
            }
            signature.Append(Signature.ReturnType);
            return(string.Format("{0}{1} {2}{3}", attributes, signature.ToString(), Name, CilDecoder.DecodeSignatureParamerTypes(Signature)));
        }