コード例 #1
0
ファイル: BuilderTools.cs プロジェクト: studentutu/SharpUtils
        public static byte[] GetSignature(this ModuleBuilder builder, ISignatureElement sig)
        {
            SignatureHelper sh = SignatureTools.GetSigHelper(builder);

            sh.AddElement(sig);
            return(sh.GetSignature());
        }
コード例 #2
0
 public Type this[uint rank]
 {
     get{
         byte[] brank = SignatureTools.EncodeInteger(rank);
         byte[] sig   = new byte[8 + brank.Length];
         sigstart.CopyTo(sig, 0);
         brank.CopyTo(sig, 6);
         return(ReflectionTools.GetTypeFromFieldSignature(sig));
     }
 }
コード例 #3
0
ファイル: BuilderTools.cs プロジェクト: studentutu/SharpUtils
        public static TypeToken GetTypeTokenExtended(this ModuleBuilder builder, Type type)
        {
            TypeConstruct tc = type as TypeConstruct;

            if (tc != null || builder == null)
            {
                var sig = SignatureTools.GetSigHelper(builder);
                sig.AddArgumentSignature(type);
                return(GetTokenFromTypeSpec(builder, sig.GetSignature()));
            }
            else
            {
                return(builder.GetTypeToken(type));
            }
        }