예제 #1
0
		/// <summary>
		/// Write a type signature to the text buffer
		/// </summary>
		/// <param name="tref">Type definition</param>
		protected override void WriteTypeSignature(TypeReference tref)
		{
			tref.Accept(this);

			if (tref.GenericParameters.Count <= 0)
				return;

			foreach (var genparam in tref.GenericParameters.Where(genparam => genparam.Constraints.Count > 0))
			{
				Write(CSharpKeyword.@where, SpaceSurrounder.Both);
				genparam.Accept(this);
				VisitVisitableCollection(GenericConstraintListStart, String.Empty, BasicSeparator, false, genparam.Constraints);
			}
		}
 /// <summary>
 /// Resolve the given type to a NetTypeReference.
 /// </summary>
 private NetTypeReference Resolve(TypeReference type, IGenericContext context, INetGenericParameterProvider provider)
 {
     return(type.Accept(ResolveVisitor.Instance, new ResolveData(this, context, provider)));
 }
예제 #3
0
		/// <summary>
		/// Write a type signature to the text buffer
		/// </summary>
		/// <param name="tref">Type reference</param>
		protected override void WriteTypeSignature(TypeReference tref)
		{
			tref.Accept(this);
		}