private void WriteSpecializedMember(SpecializedMemberReference member, DisplayOptions options, XmlWriter writer) { if ((options & DisplayOptions.ShowContainer) > 0) { WriteType(member.SpecializedType, options & ~DisplayOptions.ShowContainer, writer); WriteSeparator(writer); } WriteSimpleMember(member.TemplateMember, options & ~DisplayOptions.ShowContainer, writer, member.SpecializedType.SpecializationDictionary); }
/// <summary> /// Write out a member reference /// </summary> /// <param name="member">The member reference information</param> /// <param name="options">The link display options</param> /// <param name="writer">The write to which the information is written</param> public void WriteMember(MemberReference member, DisplayOptions options, XmlWriter writer) { if (member == null) { throw new ArgumentNullException("member"); } if (writer == null) { throw new ArgumentNullException("writer"); } SimpleMemberReference simple = member as SimpleMemberReference; if (simple != null) { WriteSimpleMember(simple, options, writer); return; } SpecializedMemberReference special = member as SpecializedMemberReference; if (special != null) { WriteSpecializedMember(special, options, writer); return; } SpecializedMemberWithParametersReference ugly = member as SpecializedMemberWithParametersReference; if (ugly != null) { WriteSpecializedMemberWithParameters(ugly, options, writer); return; } throw new InvalidOperationException("Unknown member reference type"); }
private void WriteSpecializedMember(SpecializedMemberReference member, DisplayOptions options, XmlWriter writer) { if((options & DisplayOptions.ShowContainer) > 0) { WriteType(member.SpecializedType, options & ~DisplayOptions.ShowContainer, writer); WriteSeparator(writer); } WriteSimpleMember(member.TemplateMember, options & ~DisplayOptions.ShowContainer, writer, member.SpecializedType.SpecializationDictionary); }