public static byte[] GetSignature(this ModuleBuilder builder, ISignatureElement sig) { SignatureHelper sh = SignatureTools.GetSigHelper(builder); sh.AddElement(sig); return(sh.GetSignature()); }
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)); } }
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)); } }