Mercurial > pub > ImplabNet
diff Implab.ServiceHost/Unity/NestedTypeReference.cs @ 278:6691aff01de1 v3
Implab: added XmlDefaultSeializer (SerializersPool is now obsolete)
Implab.ServiceHost: rewritten TypeReference (added support for nested types), stable API
author | cin |
---|---|
date | Thu, 03 May 2018 09:59:44 +0300 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Implab.ServiceHost/Unity/NestedTypeReference.cs Thu May 03 09:59:44 2018 +0300 @@ -0,0 +1,48 @@ +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); + } + } +} \ No newline at end of file