NestedTypeReference.cs
47 lines
| 1.2 KiB
| text/x-csharp
|
CSharpLexer
cin
|
r278 | using System; | |
using System.Text; | |||
namespace Implab.ServiceHost.Unity { | |||
public class NestedTypeReference : TypeReference { | |||
readonly string m_name; | |||
readonly int m_genericParametersCount; | |||
public TypeReference DeclaringType { get; private set; } | |||
public override string Name { | |||
get { | |||
return m_name; | |||
} | |||
} | |||
public override string Namespace { | |||
get { | |||
return DeclaringType.Namespace; | |||
} | |||
} | |||
public override int GenericParametersCount { | |||
get { | |||
return m_genericParametersCount; | |||
} | |||
} | |||
internal NestedTypeReference(TypeReference declaringType, string name, int parametersCount) { | |||
DeclaringType = declaringType; | |||
m_name = name; | |||
m_genericParametersCount = parametersCount; | |||
} | |||
internal override void Visit(TypeResolutionContext visitor) { | |||
visitor.Visit(this); | |||
} | |||
internal override void WriteTypeName(StringBuilder builder) { | |||
builder | |||
.Append(DeclaringType) | |||
.Append('+') | |||
.Append(Name); | |||
} | |||
} | |||
} |