The end column of the declaration within the source file. This value is 1-based, and
exclusive. (The final character of the declaration is on the column before this value.)
Comments appearing before the declaration. Never null, but may be empty. Multi-line comments
are represented as a newline-separated string. Leading whitespace and the comment marker ("//")
are removed from each line.
public IReadOnlyList<string> LeadingDetachedComments { get; }
Comments appearing before the declaration, but separated from it by blank
lines. Each string represents a newline-separated paragraph of comments.
Leading whitespace and the comment marker ("//") are removed from each line.
The list is never null, but may be empty. Likewise each element is never null, but may be empty.
Comments appearing after the declaration. Never null, but may be empty. Multi-line comments
are represented as a newline-separated string. Leading whitespace and the comment marker ("//")
are removed from each line.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eDescriptorDeclaration\u003c/code\u003e class provides details about the declaration of a descriptor, including source location and comments.\u003c/p\u003e\n"],["\u003cp\u003eIt inherits from the \u003ccode\u003eobject\u003c/code\u003e class and includes members like \u003ccode\u003eEquals\u003c/code\u003e, \u003ccode\u003eGetHashCode\u003c/code\u003e, \u003ccode\u003eGetType\u003c/code\u003e, \u003ccode\u003eReferenceEquals\u003c/code\u003e, and \u003ccode\u003eToString\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eKey properties of \u003ccode\u003eDescriptorDeclaration\u003c/code\u003e include \u003ccode\u003eDescriptor\u003c/code\u003e which links to the related descriptor, \u003ccode\u003eStartColumn\u003c/code\u003e, \u003ccode\u003eStartLine\u003c/code\u003e, \u003ccode\u003eEndColumn\u003c/code\u003e, and \u003ccode\u003eEndLine\u003c/code\u003e to identify location within a source file.\u003c/p\u003e\n"],["\u003cp\u003eIt also contains comment-related properties like \u003ccode\u003eLeadingComments\u003c/code\u003e, \u003ccode\u003eLeadingDetachedComments\u003c/code\u003e, and \u003ccode\u003eTrailingComments\u003c/code\u003e to capture various types of comments associated with the declaration.\u003c/p\u003e\n"],["\u003cp\u003eThe available versions for this documentation include versions \u003ccode\u003e3.27.1\u003c/code\u003e, \u003ccode\u003e3.23.0\u003c/code\u003e, and \u003ccode\u003e3.15.8\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Class DescriptorDeclaration (3.27.1)\n\nVersion latestkeyboard_arrow_down\n\n- [3.27.1 (latest)](/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.Reflection.DescriptorDeclaration)\n- [3.23.0](/dotnet/docs/reference/Google.Protobuf/3.23.0/Google.Protobuf.Reflection.DescriptorDeclaration)\n- [3.15.8](/dotnet/docs/reference/Google.Protobuf/3.15.8/Google.Protobuf.Reflection.DescriptorDeclaration) \n\n public sealed class DescriptorDeclaration\n\nProvides additional information about the declaration of a descriptor,\nsuch as source location and comments. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e DescriptorDeclaration \n\nInherited Members\n-----------------\n\n[object.Equals(object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)) \n[object.Equals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)) \n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ReferenceEquals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.referenceequals) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Protobuf.Reflection](/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.Reflection)\n\nAssembly\n--------\n\nGoogle.Protobuf.dll\n\nProperties\n----------\n\n### Descriptor\n\n public IDescriptor Descriptor { get; }\n\nThe descriptor this declaration relates to.\n\n### EndColumn\n\n public int EndColumn { get; }\n\nThe end column of the declaration within the source file. This value is 1-based, and\nexclusive. (The final character of the declaration is on the column before this value.)\n\n### EndLine\n\n public int EndLine { get; }\n\n// The end line of the declaration within the source file. This value is 1-based.\n\n### LeadingComments\n\n public string LeadingComments { get; }\n\nComments appearing before the declaration. Never null, but may be empty. Multi-line comments\nare represented as a newline-separated string. Leading whitespace and the comment marker (\"//\")\nare removed from each line.\n\n### LeadingDetachedComments\n\n public IReadOnlyList\u003cstring\u003e LeadingDetachedComments { get; }\n\nComments appearing before the declaration, but separated from it by blank\nlines. Each string represents a newline-separated paragraph of comments.\nLeading whitespace and the comment marker (\"//\") are removed from each line.\nThe list is never null, but may be empty. Likewise each element is never null, but may be empty.\n\n### StartColumn\n\n public int StartColumn { get; }\n\nThe start column of the declaration within the source file. This value is 1-based.\n\n### StartLine\n\n public int StartLine { get; }\n\nThe start line of the declaration within the source file. This value is 1-based.\n\n### TrailingComments\n\n public string TrailingComments { get; }\n\nComments appearing after the declaration. Never null, but may be empty. Multi-line comments\nare represented as a newline-separated string. Leading whitespace and the comment marker (\"//\")\nare removed from each line."]]