private string GetLinkForSystemMember(string declaringType, string name, Membertype membertype) { if (sdkLinksOnWeb) { if (declaringType.Contains("`") || declaringType.Contains("{")) { return this.sdkDocBaseUrl + getMSDNcontentId(declaringType + "." + name, membertype); } return this.sdkDocBaseUrl + declaringType + "." + name + this.sdkDocExt; } else { return this.sdkDocBaseUrl + declaringType.Replace(".", "").Replace(",", "") + "Class" + name.Replace(".", "").Replace(",", "") + "Topic" + sdkDocExt; } }
private string getMSDNcontentId(string ident, Membertype membertype) { if (proxy == null) { return string.Empty; } string typePrefix = string.Empty; switch (membertype) { case Membertype.Event: typePrefix = "E:"; break; case Membertype.Field: typePrefix = "F:"; break; case Membertype.Method: typePrefix = "M:"; break; case Membertype.Property: typePrefix = "P:"; break; case Membertype.Type: typePrefix = "T:"; break; default: typePrefix = string.Empty; break; } getContentRequest request = new getContentRequest(); request.contentIdentifier = "AssetId:" + typePrefix + ident; request.locale = this.locale; string contentId = null; getContentResponse response = null; try { response = this.proxy.GetContent(request); } catch (WebException) { this.proxy = null; } catch (SoapException) { } if (response == null) { return string.Empty; } if (!string.IsNullOrEmpty(response.contentId)) { return response.contentId; } else { return string.Empty; } }