2014-04-20 8 views
5

olarak işaretledi Roslyn CTP'den en son Roslyn sürümüne geçiş yapmaya çalışıyoruz. Ancak DocumentationProvider mantığını güncelledikleri görülüyor. CTP'de bu sağlayıcı tarafından iade edilen DocumentationComment sınıfını kullandı. Bu sınıf bu özelliklerle yeni özelliklerle geliştirilmiş olan Roslyn DocumentationComment sınıfın yeni sürümünde Neden Roslyn takımı DocumentationComment öğesini

public string FullXmlFragmentOpt { get; private set; } 

public string ExampleTextOpt { get; private set; } 

public string SummaryTextOpt { get; private set; } 

public string ReturnsTextOpt { get; private set; } 

için xml ayrıştırma için yararlı mantığı vardır, ancak her nasılsa internal olarak işaretlendi. Ve şimdi DocumentationProvider sadece XML içeriğiyle dolu dizeyi döndürür. Ve DocumentationComment bir iç sınıf olduğu için - bunu kullanamıyoruz.

Roslyn ekibinin bunu yapmasının bir sebebi var mı? Ya da belki bir sonraki sürümde geri dönecekler mi?

+0

Takımın motivasyonu ile ilgili bir cevap verebilen tek kişi takımın üyesi olabilir. – Crippledsmurf

+3

Evet, katılıyorum. Bu yüzden burada Roslyn'in etiketleriyle soruyorum. Belki takımdaki bir kişi bu soruyu okuyacaktır ve bunun için bazı ayrıntılar verecektir. –

+2

Birinden daha iyi hatırlayabilen birkaç kişiye bir e-posta gönderdim. Kaynak kontrol geçmişine baktığımda, en iyi anladığım şey bir gözetim, ama bu gerçekten bir "cevap" değil ... –

cevap

4

DocumentationComment sınıfı derleyici katmanından dışarı taşındı ve iç yapısını oluşturdu çünkü iç ve dış görünüme kavuşturulduğundan dolayı, tüm ayrıntıları bir belge yorumunda açıklamanın yetersiz olduğu belirlendi, çünkü bu, göründü ve atla gibi diğer parçaları içeriyordu ve aslında herhangi bir istediğin diğer xml etiketi. Genel API'nin bir parçası olarak mantıklı olan tek yapı, bir xml okuyucu veya DOM'ı kullanarak onu ayırmak için kullanabileceğiniz bir xml dizesiydi. Artık olduğu gibi, DocumentationComment sınıfı tek bir Roslyn özelliğinin uygulama ayrıntısıdır.

Açık kaynak olduğu için kodu kopyalayarak dilerseniz kullanabilirsiniz. Gerçek iç sınıf değişebilir ve hatta silinebilir

+0

Anladım. Detay açıklama için çok teşekkür ederim! –