सी # 9 रिकॉर्ड्स का संक्षिप्त रूप इस प्रकार है:

public record Car(int CarId, int Cylinders, string Make, string Model);

मैं रिकॉर्ड के गुणों में दस्तावेज़ीकरण टिप्पणियां कैसे जोड़ सकता हूं? ध्यान दें कि यह इस अन्य प्रश्न जो लंबे रूप के बारे में पूछता है।

4
Muhammad Rehan Saeed 20 नवम्बर 2020, 20:37

1 उत्तर

सबसे बढ़िया उत्तर

सही तरीका इस तरह सरल प्रतीत होता है:

/// <summary>
/// Represents a car.
/// </summary>
/// <param name="CarId">The id of the car.</param>
/// <param name="Cylinders">The number of cylinders.</param>
/// <param name="Make">The make of the car.</param>
/// <param name="Model">The model of the car.</param>
public record Car(int CarId, int Cylinders, string Make, string Model);

जब आप इस रिकॉर्ड का एक नया उदाहरण बनाते हैं तो यह IDE के IntelliSense (VSCode पर परीक्षण) में काम करता है (यानी new Car(...) आपको विभिन्न मापदंडों की जानकारी देगा)।

हालांकि, यदि आपके पास .csproj में <GenerateDocumentationFile>true</GenerateDocumentationFile> सक्षम है, तो संकलक की चेतावनी प्रणाली में ही एक समस्या प्रतीत होती है। प्रत्येक पैरामीटर के लिए आपको निम्नलिखित चेतावनी जोड़ी मिलेगी:

warning CS1572: XML comment has a param tag for 'CarId', but there is no parameter by that name
warning CS1573: Parameter 'CarId' has no matching param tag in the XML comment for 'Car.Car(int, int, string, string)' (but other parameters do)

तो यह वास्तव में काम करता है, लेकिन संकलक दोनों पैरामीटर के दस्तावेज के बारे में चिल्लाते हैं और पैरामीटर के लिए दस्तावेज रखते हैं जो अस्तित्व में नहीं है।

रिकॉर्ड पैरामीटर को xml डॉक्स #49134 के दायरे में रखें अगले संस्करण में समस्या को ठीक कर सकता है, उम्मीद है।

7
Simon Mattes 22 नवम्बर 2020, 15:21