Exemple #1
0
 public virtual void Build(MethodParameterCollection parameters)
 {
     foreach (var parameter in parameters)
     {
         Build(parameter);
     }
 }
 public void CopyTo(MethodParameterCollection copy)
 {
     foreach (var item in this)
     {
         item.CopyTo(copy.Add());
     }
 }
 public virtual void Visit(MethodParameterCollection parameters)
 {
     foreach (var parameter in parameters)
     {
         Visit(parameter);
     }
 }
        protected void LoadSignature(IBinaryAccessor accessor, ModuleImage image)
        {
            _sigType = accessor.ReadByte();

            if ((_sigType & Metadata.SignatureType.Generic) == Metadata.SignatureType.Generic)
            {
                accessor.ReadCompressedInteger();                 // GenericParameterCount (unused)
            }
            int paramCount = accessor.ReadCompressedInteger();

            int[] rids;
            image.GetParamsByMethod(_rid, out rids);

            int ridIndex = 0;

            _returnType = new MethodReturnType(this);
            _returnType.Load(accessor, rids, ref ridIndex);

            if (paramCount > 0)
            {
                _parameters = new MethodParameterCollection(this);
                _parameters.Load(accessor, paramCount, rids, ridIndex);
            }
        }