// Set the marshalling information for this parameter. public virtual void SetMarshal(UnmanagedMarshal unmanagedMarshal) { try { type.StartSync(); if (unmanagedMarshal == null) { throw new ArgumentNullException("unmanagedMarshal"); } lock (typeof(AssemblyBuilder)) { FieldBuilder.ClrFieldSetMarshal (privateData, unmanagedMarshal.ToBytes()); } } finally { type.EndSync(); } }