public CliAssembly(CliManager identityManager, ICliMetadataAssemblyTableRow metadata, IAssemblyUniqueIdentifier uniqueIdentifier, IStrongNamePublicKeyInfo strongNameInfo) { this.metadataRoot = metadata.MetadataRoot; this.MetadataEntry = metadata; this.strongNameInfo = strongNameInfo; this.identityManager = identityManager; this.UniqueIdentifier = new CliAssemblyUniqueIdentifier(uniqueIdentifier, this.FrameworkVersion); }
/// <summary> /// Creates a new <see cref="ArrayType"/> with the /// <paramref name="elementType"/> and <paramref name="rank"/> /// provided. /// </summary> /// <param name="elementType">The <see cref="IType"/> which represents the /// elements of the <see cref="ArrayType"/>.</param> /// <param name="rank">The <see cref="Int32"/> which represents the number /// of dimensions the <see cref="ArrayType"/> has.</param> internal ArrayType(IType elementType, int rank, CliManager manager) { if (elementType.ElementClassification == TypeElementClassification.Reference) { throw ThrowHelper.ObtainArgumentException(ArgumentWithException.elementType, ExceptionMessageId.TypeInvalidElementType, ThrowHelper.GetArgumentExceptionWord(ExceptionWordId.by_reference_type), ThrowHelper.GetArgumentExceptionWord(ExceptionWordId.array)); } if (rank < 1) { throw ThrowHelper.ObtainArgumentOutOfRangeException(ArgumentWithException.rank, ExceptionMessageId.RankMustBeOneOrGreater, rank.ToString()); } this.rank = rank; this.elementType = elementType; this.manager = manager; }
internal ArrayType(IType elementType, CliManager manager, int[] lowerBounds, uint[] lengths, int rank = -1) { this.elementType = elementType; this.lowerBounds = new ArrayReadOnlyCollection <int>(lowerBounds ?? new int[0]); this.lengths = new ArrayReadOnlyCollection <uint>(lengths ?? new uint[0]); this.rank = rank < 0 ? Math.Max( lowerBounds == null ? 0 : lowerBounds.Length, lengths == null ? 0 : lengths.Length) : rank; this.manager = manager; }
public TypeNameService(CliManager identityManager) { this.identityManager = identityManager; }
internal ArrayType(IType elementType, CliManager manager) : this(elementType, 1, manager) { }
internal TypeCache(CliManager manager) { this.manager = manager; }
internal PointerType(IType elementType, CliManager manager) { this.elementType = elementType; this.manager = manager; }