Catatan C# 9 memiliki bentuk pendek seperti:

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

Bagaimana saya bisa menambahkan komentar dokumentasi ke properti catatan? Perhatikan bahwa ini berbeda dengan ini pertanyaan lain yang menanyakan tentang bentuk panjang.

5
Muhammad Rehan Saeed 20 November 2020, 20:37

1 menjawab

Jawaban Terbaik

Cara yang benar tampaknya sesederhana ini:

/// <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);

Ini berfungsi di IntelliSense IDE (pengujian pada VSCode) ketika Anda membuat instance baru dari catatan ini (yaitu new Car(...) akan memberi Anda informasi tentang parameter yang berbeda).

Namun tampaknya ada masalah dalam sistem peringatan kompilator itu sendiri jika Anda mengaktifkan <GenerateDocumentationFile>true</GenerateDocumentationFile> di .csproj Anda. Untuk setiap parameter Anda akan mendapatkan pasangan peringatan berikut:

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)

Jadi itu memang berfungsi, tetapi kompiler mengeluh tentang parameter yang tidak didokumentasikan dan memiliki dokumentasi untuk parameter yang tidak ada.

Menempatkan parameter catatan dalam cakupan xml docs #49134 mungkin memperbaiki masalah di versi berikutnya, semoga.

7
Simon Mattes 22 November 2020, 15:21