/Mono.Cecil/TypeSpecification.cs
http://github.com/jbevain/cecil · C# · 68 lines · 44 code · 15 blank · 9 comment · 0 complexity · e8683bba8147fbe0485da02fba4e47a6 MD5 · raw file
- //
- // Author:
- // Jb Evain (jbevain@gmail.com)
- //
- // Copyright (c) 2008 - 2015 Jb Evain
- // Copyright (c) 2008 - 2011 Novell, Inc.
- //
- // Licensed under the MIT/X11 license.
- //
- using System;
- using Mono.Cecil.Metadata;
- namespace Mono.Cecil {
- public abstract class TypeSpecification : TypeReference {
- readonly TypeReference element_type;
- public TypeReference ElementType {
- get { return element_type; }
- }
- public override string Name {
- get { return element_type.Name; }
- set { throw new InvalidOperationException (); }
- }
- public override string Namespace {
- get { return element_type.Namespace; }
- set { throw new InvalidOperationException (); }
- }
- public override IMetadataScope Scope {
- get { return element_type.Scope; }
- set { throw new InvalidOperationException (); }
- }
- public override ModuleDefinition Module {
- get { return element_type.Module; }
- }
- public override string FullName {
- get { return element_type.FullName; }
- }
- public override bool ContainsGenericParameter {
- get { return element_type.ContainsGenericParameter; }
- }
- public override MetadataType MetadataType {
- get { return (MetadataType) etype; }
- }
- internal TypeSpecification (TypeReference type)
- : base (null, null)
- {
- this.element_type = type;
- this.token = new MetadataToken (TokenType.TypeSpec);
- }
- public override TypeReference GetElementType ()
- {
- return element_type.GetElementType ();
- }
- }
- }