Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π―Π—Π«Πš ΠŸΠ ΠžΠ“Π ΠΠœΠœΠ˜Π ΠžΠ’ΠΠΠ˜Π― Π‘# 2005 И ΠŸΠ›ΠΠ’Π€ΠžΠ ΠœΠ .NET 2.0. 3-Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 51

Автор Π­Π½Π΄Ρ€ΡŽ ВроСлсСн

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. ПослС рассмотрСния Windows Forms ΠΈ ASP.NET Π²Ρ‹ ΠΏΠΎΠΉΠΌΠ΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π² Visual Studio 2005 ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово partial ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для раздСлСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ инструмСнтами Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ этот ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° поискС подходящих Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΈ Π½Π΅ Π·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎΠ± автоматичСски Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅.

Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ исходного ΠΊΠΎΠ΄Π° Π² C# с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ XML

Π’ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ этой Π³Π»Π°Π²Ρ‹ ΠΌΡ‹ рассмотрим спСцифичСскиС для C# лСксСмы ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π°. Π±Π°Π·Π΅ XML. Если Π²Ρ‹ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ ΠΎΠΏΡ‹Ρ‚ программирования Π½Π° языкС Java, Ρ‚ΠΎ, скорСС всСго, Π·Π½Π°Π΅Ρ‚Π΅ ΠΎΠ± ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ javadoc. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ javadoc, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ исходный Π²ΠΎΠ΄ Java Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ HTML-прСдставлСниС. МодСль докумСнтирования, принятая Π² C#, оказываСтся Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΠΎΠΉ Π² Ρ‚ΠΎΠΌ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ, Ρ‡Ρ‚ΠΎ процСсс прСобразования ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² Π² XML являСтся Π·Π°Π±ΠΎΡ‚ΠΎΠΉ компилятора (ΠΏΡ€ΠΈ использовании ΠΎΠΏΡ†ΠΈΠΈ /doc), Π° Π½Π΅ особой ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹.

Но ΠΏΠΎΡ‡Π΅ΠΌΡƒ для докумСнтирования ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ Ρ‚ΠΈΠΏΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ XML, Π° Π½Π΅ HTML? Главная ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ XML обСспСчиваСт ΠΎΡ‡Π΅Π½ΡŒ ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ возмоТности. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ XML отдСляСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ прСдставлСния этих Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊ Π»Π΅ΠΆΠ°Ρ‰Π΅ΠΌΡƒ Π² основС XML-ΠΊΠΎΠ΄Ρƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ любоС XML-ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· мноТСства доступных Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² (MSDN, HTML ΠΈ Ρ‚.Π΄.).

ΠŸΡ€ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ C#-Ρ‚ΠΈΠΏΠΎΠ² Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ XML ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ являСтся Π²Ρ‹Π±ΠΎΡ€ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π΄Π²ΡƒΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΉ Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ: Ρ‚Ρ€ΠΎΠΉΠ½ΠΎΠΉ косой Ρ‡Π΅Ρ€Ρ‚Ρ‹ (///) ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠ° коммСнтария, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ начинаСтся ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠ΅ΠΉ косой Ρ‡Π΅Ρ€Ρ‚Ρ‹ ΠΈ Π΄Π²ΡƒΡ… Π·Π²Π΅Π·Π΄ΠΎΡ‡Π΅ΠΊ (/**), Π° заканчиваСтся – ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠ΅ΠΉ Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠΈ ΠΈ косой Ρ‡Π΅Ρ€Ρ‚Ρ‹ (*/). Π’ ΠΏΠΎΠ»Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ коммСнтария ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ XML-элСмСнты, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ элСмСнты Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π°, описанныС Π² Ρ‚Π°Π±Π». 4.1.

Π’Π°Π±Π»ΠΈΡ†Π° 4.1. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ XML Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹Π΅ для использования Π² коммСнтариях ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ ΠΊΠΎΠ΄Ρƒ

XML-элСмСнт Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ОписаниС ‹с› Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ тСкст, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ "ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠΌ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°" β€Ήcodeβ€Ί Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ мноТСство строк, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ <example> Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° для описываСмого элСмСнта β€Ήexceptionβ€Ί Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса β€Ήlistβ€Ί ВставляСт список ΠΈΠ»ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π² Ρ„Π°ΠΉΠ» Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ β€ΉΡ€Π°rΠ°mβ€Ί ΠžΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ β€Ήparamrefβ€Ί АссоциируСт Π΄Π°Π½Π½Ρ‹ΠΉ дСскриптор XML с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ <permission> Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ограничСния Π·Π°Ρ‰ΠΈΡ‚Ρ‹ для Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‡Π»Π΅Π½Π° β€Ήremarksβ€Ί Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ описаниС для Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‡Π»Π΅Π½Π° β€Ήreturnsβ€Ί Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‡Π»Π΅Π½Π° β€Ήseeβ€Ί ΠŸΠ΅Ρ€Π΅ΠΊΡ€Π΅ΡΡ‚Π½Π°Ρ ссылка для связанных элСмСнтов Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° β€Ήseealsoβ€Ί Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ Ρ€Π°Π·Π΄Π΅Π» '"см. Ρ‚Π°ΠΊΠΆΠ΅" Π² описании β€Ήsummaryβ€Ί Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ "ΠΏΠΎΡΡΠ½ΡΡŽΡ‰Π΅Π΅ Ρ€Π΅Π·ΡŽΠΌΠ΅" для Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‡Π»Π΅Π½Π° β€Ήvalueβ€Ί Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄Π°Π½Π½ΠΎΠ΅ свойство

Π’ качСствС ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° Car (Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ слСдуСт ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ особоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° использованиС элСмСнтов β€Ήsummaryβ€Ί ΠΈ β€Ήparamβ€Ί.

/// β€Ήsummaryβ€Ί

/// Π­Ρ‚ΠΎ Ρ‚ΠΈΠΏ Car, ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ

/// возмоТности XML-докумСнтирования.

/// β€Ή/summaryβ€Ί

public class Car {

 /// β€Ήsummaryβ€Ί

 /// Π•ΡΡ‚ΡŒ Π»ΠΈ люк Π² ΠΊΡ€Ρ‹ΡˆΠ΅ вашСго автомобиля?

 /// β€Ή/summaryβ€Ί

 private bool hasSunroof = false;

 /// β€Ήsummaryβ€Ί

 /// Π­Ρ‚ΠΎΡ‚ конструктор позволяСт ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ люка.

 /// β€Ή/summaryβ€Ί

 /// β€Ήparam name="hasSunroof "β€Ί β€Ή/paramβ€Ί

 public Car(bool hasSunroof) {

  this.hasSunroof = hasSunroof;

 }

 /// β€Ήsummaryβ€Ί

 /// Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ позволяСт ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ люк.

 /// β€Ή/summaryβ€Ί

 /// β€Ήparam name="state"β€Ί β€Ή/paramβ€Ί

 public void OpenSunroof (bool state) {

  if (state == true && hasSunroof == true) Console.WriteLine("ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ люк!");

  else Console.WriteLine("Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅, Ρƒ вас Π½Π΅Ρ‚ люка.");

 }

}

ΠœΠ΅Ρ‚ΠΎΠ΄ Main() ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ докумСнтируСтся с использованиСм XML-элСмСнтов.

/// β€Ήsummaryβ€Ί

/// Π’ΠΎΡ‡ΠΊΠ° Π²Ρ…ΠΎΠ΄Π° прилоТСния.

/// β€Ή/summaryβ€Ί

static void Main(string [] args) {

 Car с = new Car(true);

 Ρ.OpenSunroof(true);

}

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π° основС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π², Π·Π°Π΄Π°ΡŽΡ‰ΠΈΡ… XML-ΠΊΠΎΠ΄, ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ» *.xml, ΠΏΡ€ΠΈ построСнии C#-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ csc.exe ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ„Π»Π°Π³ /doc.

csc /doc:XmlCarDoc.xml *.cs

Π’ Visual Studio 2005 ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ имя Ρ„Π°ΠΉΠ»Π° с XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Build ΠΎΠΊΠ½Π° свойств (рис. 4.15).

Pис. 4.15. Π“Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π² Visual Studio 2005

Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ форматирования Π² XML-ΠΊΠΎΠ΄Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π²

Если ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ сгСнСрированный XML-Ρ„Π°ΠΉΠ», Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ элСмСнты Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ Ρ‚Π°ΠΊΠΈΠΌΠΈ символами, ΠΊΠ°ΠΊ "M", "T", "F" ΠΈ Ρ‚.ΠΏ. НапримСр:

β€Ήmember name = "Π’:Π₯mlDΠΎcCar.Car"β€Ί

 β€Ήsummaryβ€Ί

  Π­Ρ‚ΠΎ Ρ‚ΠΈΠΏ Car, ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ возмоТности XML-докумСнтирования.

 β€Ή/summaryβ€Ί

β€Ή/memberβ€Ί

Π’ Ρ‚Π°Π±Π». 4.2 описаны значСния этих ΠΌΠ΅Ρ‚ΠΎΠΊ.

Π’Π°Π±Π»ΠΈΡ†Π° 4.2. Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ форматирования XML

Π‘ΠΈΠΌΠ²ΠΎΠ» форматирования ОписаниС E  Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ событиС F Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ прСдставляСт ΠΏΠΎΠ»Π΅ M  Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ прСдставляСт ΠΌΠ΅Ρ‚ΠΎΠ΄ (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ конструкторы ΠΈ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ) N Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ опрСдСляСт пространство ΠΈΠΌΠ΅Π½ P Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ прСдставляСт свойство Ρ‚ΠΈΠΏΠ° (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ индСксы) T Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ прСдставляСт Ρ‚ΠΈΠΏ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, класс, интСрфСйс, структуру, ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ, Π΄Π΅Π»Π΅Π³Π°Ρ‚)

Врансформация XML-ΠΊΠΎΠ΄Π° ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π²

ΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ вСрсии Visual Studio 2005 (Π² частности. Visual Studio .NET 2003) ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π»ΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ инструмСнт, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ с XML-ΠΊΠΎΠ΄ΠΎΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π² систСму HTML-справки. К соТалСнию, Visual Studio 2005 Π½Π΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹, оставляя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ "ΠΎΠ΄ΠΈΠ½ Π½Π° ΠΎΠ΄ΠΈΠ½" с XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ. Если Π²Ρ‹ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ ΠΎΠΏΡ‹Ρ‚ использования XML-трансформаций, Ρ‚ΠΎ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, способны Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ подходящиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ стилСй.

Π‘ΠΎΠ»Π΅Π΅ простым Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ являСтся использованиС инструмСнтов сторонних ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ΡŒ XML-ΠΊΠΎΠ΄ Π² самыС Ρ€Π°Π·Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹. НапримСр, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ NDoc, ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π²ΡˆΠ΅Π΅ΡΡ Π² Π³Π»Π°Π²Π΅ 2, позволяСт Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ…. Напомним, Ρ‡Ρ‚ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ NDoc ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π½Π° страницах http://ndoc.sourceforge.net.

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ XmlDocCar Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ Π² ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ Π³Π»Π°Π²Π΅ 4.

РСзюмС

Если Π²Ρ‹ ΠΈΠ·ΡƒΡ‡Π°Π΅Ρ‚Π΅ .NET, имСя ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π»ΡŽΠ±Ρ‹ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ языком программирования, Ρ‚ΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» этой Π³Π»Π°Π²Ρ‹ обСспСчит сравнСниС возмоТностСй ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π²Π°ΠΌΠΈ языка с возмоТностями языка C#. ΠŸΡ€ΠΈ отсутствии Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΎΠΏΡ‹Ρ‚Π° ΠΌΠ½ΠΎΠ³ΠΈΠ΅ прСдставлСнныС Π² этой Π³Π»Π°Π²Π΅ понятия ΠΌΠΎΠ³ΡƒΡ‚ ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π΅ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ. Но это Π½Π΅ ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ освоСния ΠΎΡΡ‚Π°Π²ΡˆΠ΅Π³ΠΎΡΡ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° ΠΊΠ½ΠΈΠ³ΠΈ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒ прСдставлСнныС здСсь понятия.

Π­Ρ‚Π° Π³Π»Π°Π²Π° Π½Π°Ρ‡Π°Π»Π°ΡΡŒ с обсуТдСния ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² ООП: инкапсуляции, наслСдования ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ°. БСрвис инкапсуляции ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² чтСния/ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, свойств Ρ‚ΠΈΠΏΠ° ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ, доступных Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния. НаслСдованиС Π² C# рСализуСтся Π΅Ρ‰Π΅ ΠΏΡ€ΠΎΡ‰Π΅, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ этот язык Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ для наслСдования ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова, Π° ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅ΠΌΡƒΡŽ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ΠΌ. НаконСц, для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ° Π² C# прСдлагаСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова abstract, virtual, override ΠΈ new.