Mercurial > pub > ImplabNet
comparison 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 |
comparison
equal
deleted
inserted
replaced
277:963b17c275be | 278:6691aff01de1 |
---|---|
1 using System; | |
2 using System.Text; | |
3 | |
4 namespace Implab.ServiceHost.Unity { | |
5 public class NestedTypeReference : TypeReference { | |
6 | |
7 readonly string m_name; | |
8 | |
9 readonly int m_genericParametersCount; | |
10 | |
11 public TypeReference DeclaringType { get; private set; } | |
12 | |
13 public override string Name { | |
14 get { | |
15 return m_name; | |
16 } | |
17 } | |
18 | |
19 public override string Namespace { | |
20 get { | |
21 return DeclaringType.Namespace; | |
22 } | |
23 } | |
24 | |
25 public override int GenericParametersCount { | |
26 get { | |
27 return m_genericParametersCount; | |
28 } | |
29 } | |
30 | |
31 internal NestedTypeReference(TypeReference declaringType, string name, int parametersCount) { | |
32 DeclaringType = declaringType; | |
33 m_name = name; | |
34 m_genericParametersCount = parametersCount; | |
35 } | |
36 | |
37 internal override void Visit(TypeResolutionContext visitor) { | |
38 visitor.Visit(this); | |
39 } | |
40 | |
41 internal override void WriteTypeName(StringBuilder builder) { | |
42 builder | |
43 .Append(DeclaringType) | |
44 .Append('+') | |
45 .Append(Name); | |
46 } | |
47 } | |
48 } |