Skip to content

Commit f4f9f04

Browse files
committed
Update to .NET 9
1 parent 5af2bb3 commit f4f9f04

File tree

6 files changed

+445
-44
lines changed

6 files changed

+445
-44
lines changed

.editorconfig

Lines changed: 376 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,376 @@
1+
root = true
2+
3+
# All files
4+
[*]
5+
# NO BOM!
6+
charset = utf-8
7+
indent_style = space
8+
trim_trailing_whitespace = true
9+
# POSIX defines a _line_ as ending with a newline
10+
# https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206
11+
insert_final_newline = true
12+
13+
[*.cs]
14+
# Indentation and spacing
15+
indent_size = 4
16+
tab_width = 4
17+
# New line preferences
18+
end_of_line = crlf
19+
20+
[*.{js,ts}]
21+
indent_size = 4
22+
23+
[*.{json,jsonc}]
24+
indent_size = 4
25+
26+
[*.{yaml,yml,py,md}]
27+
indent_size = 4
28+
29+
[*.xml,*.xsd,*.csproj]
30+
indent_size = 4
31+
32+
[*.md]
33+
# In markdown, trailing whitespace is significant
34+
trim_trailing_whitespace = false
35+
36+
37+
#### .NET Coding Conventions ####
38+
[*.{cs,vb}]
39+
40+
# Organize usings
41+
dotnet_separate_import_directive_groups = true
42+
dotnet_sort_system_directives_first = true
43+
file_header_template = unset
44+
45+
# this. and Me. preferences
46+
dotnet_style_qualification_for_event = false:silent
47+
dotnet_style_qualification_for_field = false:silent
48+
dotnet_style_qualification_for_method = false:silent
49+
dotnet_style_qualification_for_property = false:silent
50+
51+
# Language keywords vs BCL types preferences
52+
dotnet_style_predefined_type_for_locals_parameters_members = true:silent
53+
dotnet_style_predefined_type_for_member_access = true:silent
54+
55+
# Parentheses preferences
56+
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent
57+
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent
58+
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent
59+
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent
60+
61+
# Modifier preferences
62+
dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent
63+
64+
# Expression-level preferences
65+
dotnet_style_coalesce_expression = true:suggestion
66+
dotnet_style_collection_initializer = true:suggestion
67+
dotnet_style_explicit_tuple_names = true:suggestion
68+
dotnet_style_null_propagation = true:suggestion
69+
dotnet_style_object_initializer = true:suggestion
70+
dotnet_style_operator_placement_when_wrapping = beginning_of_line
71+
dotnet_style_prefer_auto_properties = true:suggestion
72+
dotnet_style_prefer_compound_assignment = true:suggestion
73+
dotnet_style_prefer_conditional_expression_over_assignment = true:suggestion
74+
dotnet_style_prefer_conditional_expression_over_return = true:suggestion
75+
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
76+
dotnet_style_prefer_inferred_tuple_names = true:suggestion
77+
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
78+
dotnet_style_prefer_simplified_boolean_expressions = true:suggestion
79+
dotnet_style_prefer_simplified_interpolation = true:suggestion
80+
81+
# Field preferences
82+
dotnet_style_readonly_field = true:warning
83+
84+
# Parameter preferences
85+
dotnet_code_quality_unused_parameters = all:suggestion
86+
87+
# Suppression preferences
88+
dotnet_remove_unnecessary_suppression_exclusions = none
89+
90+
#### C# Coding Conventions ####
91+
[*.cs]
92+
93+
# var preferences
94+
csharp_style_var_elsewhere = false:silent
95+
csharp_style_var_for_built_in_types = false:silent
96+
csharp_style_var_when_type_is_apparent = false:silent
97+
98+
# Expression-bodied members
99+
csharp_style_expression_bodied_accessors = true:silent
100+
csharp_style_expression_bodied_constructors = false:silent
101+
csharp_style_expression_bodied_indexers = true:silent
102+
csharp_style_expression_bodied_lambdas = true:suggestion
103+
csharp_style_expression_bodied_local_functions = false:silent
104+
csharp_style_expression_bodied_methods = false:silent
105+
csharp_style_expression_bodied_operators = false:silent
106+
csharp_style_expression_bodied_properties = true:silent
107+
108+
# Pattern matching preferences
109+
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
110+
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
111+
csharp_style_prefer_not_pattern = true:suggestion
112+
csharp_style_prefer_pattern_matching = true:silent
113+
csharp_style_prefer_switch_expression = true:suggestion
114+
115+
# Null-checking preferences
116+
csharp_style_conditional_delegate_call = true:suggestion
117+
118+
# Modifier preferences
119+
csharp_prefer_static_local_function = true:warning
120+
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:silent
121+
122+
# Code-block preferences
123+
csharp_prefer_braces = true:silent
124+
csharp_prefer_simple_using_statement = true:suggestion
125+
126+
# Expression-level preferences
127+
csharp_prefer_simple_default_expression = true:suggestion
128+
csharp_style_deconstructed_variable_declaration = true:suggestion
129+
csharp_style_inlined_variable_declaration = true:suggestion
130+
csharp_style_pattern_local_over_anonymous_function = true:suggestion
131+
csharp_style_prefer_index_operator = true:suggestion
132+
csharp_style_prefer_range_operator = true:suggestion
133+
csharp_style_throw_expression = true:suggestion
134+
csharp_style_unused_value_assignment_preference = discard_variable:suggestion
135+
csharp_style_unused_value_expression_statement_preference = discard_variable:silent
136+
137+
# 'using' directive preferences
138+
csharp_using_directive_placement = outside_namespace:silent
139+
140+
#### C# Formatting Rules ####
141+
142+
# New line preferences
143+
csharp_new_line_before_catch = true
144+
csharp_new_line_before_else = true
145+
csharp_new_line_before_finally = true
146+
csharp_new_line_before_members_in_anonymous_types = true
147+
csharp_new_line_before_members_in_object_initializers = true
148+
csharp_new_line_before_open_brace = all
149+
csharp_new_line_between_query_expression_clauses = true
150+
151+
# Indentation preferences
152+
csharp_indent_block_contents = true
153+
csharp_indent_braces = false
154+
csharp_indent_case_contents = true
155+
csharp_indent_case_contents_when_block = true
156+
csharp_indent_labels = one_less_than_current
157+
csharp_indent_switch_labels = true
158+
159+
# Space preferences
160+
csharp_space_after_cast = false
161+
csharp_space_after_colon_in_inheritance_clause = true
162+
csharp_space_after_comma = true
163+
csharp_space_after_dot = false
164+
csharp_space_after_keywords_in_control_flow_statements = true
165+
csharp_space_after_semicolon_in_for_statement = true
166+
csharp_space_around_binary_operators = before_and_after
167+
csharp_space_around_declaration_statements = false
168+
csharp_space_before_colon_in_inheritance_clause = true
169+
csharp_space_before_comma = false
170+
csharp_space_before_dot = false
171+
csharp_space_before_open_square_brackets = false
172+
csharp_space_before_semicolon_in_for_statement = false
173+
csharp_space_between_empty_square_brackets = false
174+
csharp_space_between_method_call_empty_parameter_list_parentheses = false
175+
csharp_space_between_method_call_name_and_opening_parenthesis = false
176+
csharp_space_between_method_call_parameter_list_parentheses = false
177+
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
178+
csharp_space_between_method_declaration_name_and_open_parenthesis = false
179+
csharp_space_between_method_declaration_parameter_list_parentheses = false
180+
csharp_space_between_parentheses = false
181+
csharp_space_between_square_brackets = false
182+
183+
# Wrapping preferences
184+
csharp_preserve_single_line_blocks = true
185+
csharp_preserve_single_line_statements = true
186+
187+
#### Naming styles ####
188+
[*.{cs,vb}]
189+
190+
# Naming rules
191+
192+
dotnet_naming_rule.types_and_namespaces_should_be_pascalcase.severity = suggestion
193+
dotnet_naming_rule.types_and_namespaces_should_be_pascalcase.symbols = types_and_namespaces
194+
dotnet_naming_rule.types_and_namespaces_should_be_pascalcase.style = pascalcase
195+
196+
dotnet_naming_rule.interfaces_should_be_ipascalcase.severity = suggestion
197+
dotnet_naming_rule.interfaces_should_be_ipascalcase.symbols = interfaces
198+
dotnet_naming_rule.interfaces_should_be_ipascalcase.style = ipascalcase
199+
200+
dotnet_naming_rule.type_parameters_should_be_tpascalcase.severity = suggestion
201+
dotnet_naming_rule.type_parameters_should_be_tpascalcase.symbols = type_parameters
202+
dotnet_naming_rule.type_parameters_should_be_tpascalcase.style = tpascalcase
203+
204+
dotnet_naming_rule.methods_should_be_pascalcase.severity = suggestion
205+
dotnet_naming_rule.methods_should_be_pascalcase.symbols = methods
206+
dotnet_naming_rule.methods_should_be_pascalcase.style = pascalcase
207+
208+
dotnet_naming_rule.properties_should_be_pascalcase.severity = suggestion
209+
dotnet_naming_rule.properties_should_be_pascalcase.symbols = properties
210+
dotnet_naming_rule.properties_should_be_pascalcase.style = pascalcase
211+
212+
dotnet_naming_rule.events_should_be_pascalcase.severity = suggestion
213+
dotnet_naming_rule.events_should_be_pascalcase.symbols = events
214+
dotnet_naming_rule.events_should_be_pascalcase.style = pascalcase
215+
216+
dotnet_naming_rule.local_variables_should_be_camelcase.severity = suggestion
217+
dotnet_naming_rule.local_variables_should_be_camelcase.symbols = local_variables
218+
dotnet_naming_rule.local_variables_should_be_camelcase.style = camelcase
219+
220+
dotnet_naming_rule.local_constants_should_be_camelcase.severity = suggestion
221+
dotnet_naming_rule.local_constants_should_be_camelcase.symbols = local_constants
222+
dotnet_naming_rule.local_constants_should_be_camelcase.style = camelcase
223+
224+
dotnet_naming_rule.parameters_should_be_camelcase.severity = suggestion
225+
dotnet_naming_rule.parameters_should_be_camelcase.symbols = parameters
226+
dotnet_naming_rule.parameters_should_be_camelcase.style = camelcase
227+
228+
dotnet_naming_rule.public_fields_should_be_pascalcase.severity = suggestion
229+
dotnet_naming_rule.public_fields_should_be_pascalcase.symbols = public_fields
230+
dotnet_naming_rule.public_fields_should_be_pascalcase.style = pascalcase
231+
232+
dotnet_naming_rule.private_fields_should_be__camelcase.severity = suggestion
233+
dotnet_naming_rule.private_fields_should_be__camelcase.symbols = private_fields
234+
dotnet_naming_rule.private_fields_should_be__camelcase.style = _camelcase
235+
236+
dotnet_naming_rule.private_static_fields_should_be_s_camelcase.severity = suggestion
237+
dotnet_naming_rule.private_static_fields_should_be_s_camelcase.symbols = private_static_fields
238+
dotnet_naming_rule.private_static_fields_should_be_s_camelcase.style = s_camelcase
239+
240+
dotnet_naming_rule.public_constant_fields_should_be_pascalcase.severity = suggestion
241+
dotnet_naming_rule.public_constant_fields_should_be_pascalcase.symbols = public_constant_fields
242+
dotnet_naming_rule.public_constant_fields_should_be_pascalcase.style = pascalcase
243+
244+
dotnet_naming_rule.private_constant_fields_should_be_pascalcase.severity = suggestion
245+
dotnet_naming_rule.private_constant_fields_should_be_pascalcase.symbols = private_constant_fields
246+
dotnet_naming_rule.private_constant_fields_should_be_pascalcase.style = pascalcase
247+
248+
dotnet_naming_rule.public_static_readonly_fields_should_be_pascalcase.severity = suggestion
249+
dotnet_naming_rule.public_static_readonly_fields_should_be_pascalcase.symbols = public_static_readonly_fields
250+
dotnet_naming_rule.public_static_readonly_fields_should_be_pascalcase.style = pascalcase
251+
252+
dotnet_naming_rule.private_static_readonly_fields_should_be_pascalcase.severity = suggestion
253+
dotnet_naming_rule.private_static_readonly_fields_should_be_pascalcase.symbols = private_static_readonly_fields
254+
dotnet_naming_rule.private_static_readonly_fields_should_be_pascalcase.style = pascalcase
255+
256+
dotnet_naming_rule.enums_should_be_pascalcase.severity = suggestion
257+
dotnet_naming_rule.enums_should_be_pascalcase.symbols = enums
258+
dotnet_naming_rule.enums_should_be_pascalcase.style = pascalcase
259+
260+
dotnet_naming_rule.local_functions_should_be_pascalcase.severity = suggestion
261+
dotnet_naming_rule.local_functions_should_be_pascalcase.symbols = local_functions
262+
dotnet_naming_rule.local_functions_should_be_pascalcase.style = pascalcase
263+
264+
dotnet_naming_rule.non_field_members_should_be_pascalcase.severity = suggestion
265+
dotnet_naming_rule.non_field_members_should_be_pascalcase.symbols = non_field_members
266+
dotnet_naming_rule.non_field_members_should_be_pascalcase.style = pascalcase
267+
268+
# Symbol specifications
269+
270+
dotnet_naming_symbols.interfaces.applicable_kinds = interface
271+
dotnet_naming_symbols.interfaces.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
272+
dotnet_naming_symbols.interfaces.required_modifiers =
273+
274+
dotnet_naming_symbols.enums.applicable_kinds = enum
275+
dotnet_naming_symbols.enums.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
276+
dotnet_naming_symbols.enums.required_modifiers =
277+
278+
dotnet_naming_symbols.events.applicable_kinds = event
279+
dotnet_naming_symbols.events.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
280+
dotnet_naming_symbols.events.required_modifiers =
281+
282+
dotnet_naming_symbols.methods.applicable_kinds = method
283+
dotnet_naming_symbols.methods.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
284+
dotnet_naming_symbols.methods.required_modifiers =
285+
286+
dotnet_naming_symbols.properties.applicable_kinds = property
287+
dotnet_naming_symbols.properties.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
288+
dotnet_naming_symbols.properties.required_modifiers =
289+
290+
dotnet_naming_symbols.public_fields.applicable_kinds = field
291+
dotnet_naming_symbols.public_fields.applicable_accessibilities = public, internal
292+
dotnet_naming_symbols.public_fields.required_modifiers =
293+
294+
dotnet_naming_symbols.private_fields.applicable_kinds = field
295+
dotnet_naming_symbols.private_fields.applicable_accessibilities = private, protected, protected_internal, private_protected
296+
dotnet_naming_symbols.private_fields.required_modifiers =
297+
298+
dotnet_naming_symbols.private_static_fields.applicable_kinds = field
299+
dotnet_naming_symbols.private_static_fields.applicable_accessibilities = private, protected, protected_internal, private_protected
300+
dotnet_naming_symbols.private_static_fields.required_modifiers = static
301+
302+
dotnet_naming_symbols.types_and_namespaces.applicable_kinds = namespace, class, struct, interface, enum
303+
dotnet_naming_symbols.types_and_namespaces.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
304+
dotnet_naming_symbols.types_and_namespaces.required_modifiers =
305+
306+
dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
307+
dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
308+
dotnet_naming_symbols.non_field_members.required_modifiers =
309+
310+
dotnet_naming_symbols.type_parameters.applicable_kinds = namespace
311+
dotnet_naming_symbols.type_parameters.applicable_accessibilities = *
312+
dotnet_naming_symbols.type_parameters.required_modifiers =
313+
314+
dotnet_naming_symbols.private_constant_fields.applicable_kinds = field
315+
dotnet_naming_symbols.private_constant_fields.applicable_accessibilities = private, protected, protected_internal, private_protected
316+
dotnet_naming_symbols.private_constant_fields.required_modifiers = const
317+
318+
dotnet_naming_symbols.local_variables.applicable_kinds = local
319+
dotnet_naming_symbols.local_variables.applicable_accessibilities = local
320+
dotnet_naming_symbols.local_variables.required_modifiers =
321+
322+
dotnet_naming_symbols.local_constants.applicable_kinds = local
323+
dotnet_naming_symbols.local_constants.applicable_accessibilities = local
324+
dotnet_naming_symbols.local_constants.required_modifiers = const
325+
326+
dotnet_naming_symbols.parameters.applicable_kinds = parameter
327+
dotnet_naming_symbols.parameters.applicable_accessibilities = *
328+
dotnet_naming_symbols.parameters.required_modifiers =
329+
330+
dotnet_naming_symbols.public_constant_fields.applicable_kinds = field
331+
dotnet_naming_symbols.public_constant_fields.applicable_accessibilities = public, internal
332+
dotnet_naming_symbols.public_constant_fields.required_modifiers = const
333+
334+
dotnet_naming_symbols.public_static_readonly_fields.applicable_kinds = field
335+
dotnet_naming_symbols.public_static_readonly_fields.applicable_accessibilities = public, internal
336+
dotnet_naming_symbols.public_static_readonly_fields.required_modifiers = readonly, static
337+
338+
dotnet_naming_symbols.private_static_readonly_fields.applicable_kinds = field
339+
dotnet_naming_symbols.private_static_readonly_fields.applicable_accessibilities = private, protected, protected_internal, private_protected
340+
dotnet_naming_symbols.private_static_readonly_fields.required_modifiers = readonly, static
341+
342+
dotnet_naming_symbols.local_functions.applicable_kinds = local_function
343+
dotnet_naming_symbols.local_functions.applicable_accessibilities = *
344+
dotnet_naming_symbols.local_functions.required_modifiers =
345+
346+
# Naming styles
347+
348+
dotnet_naming_style.pascalcase.required_prefix =
349+
dotnet_naming_style.pascalcase.required_suffix =
350+
dotnet_naming_style.pascalcase.word_separator =
351+
dotnet_naming_style.pascalcase.capitalization = pascal_case
352+
353+
dotnet_naming_style.ipascalcase.required_prefix = I
354+
dotnet_naming_style.ipascalcase.required_suffix =
355+
dotnet_naming_style.ipascalcase.word_separator =
356+
dotnet_naming_style.ipascalcase.capitalization = pascal_case
357+
358+
dotnet_naming_style.tpascalcase.required_prefix = T
359+
dotnet_naming_style.tpascalcase.required_suffix =
360+
dotnet_naming_style.tpascalcase.word_separator =
361+
dotnet_naming_style.tpascalcase.capitalization = pascal_case
362+
363+
dotnet_naming_style._camelcase.required_prefix = _
364+
dotnet_naming_style._camelcase.required_suffix =
365+
dotnet_naming_style._camelcase.word_separator =
366+
dotnet_naming_style._camelcase.capitalization = camel_case
367+
368+
dotnet_naming_style.camelcase.required_prefix =
369+
dotnet_naming_style.camelcase.required_suffix =
370+
dotnet_naming_style.camelcase.word_separator =
371+
dotnet_naming_style.camelcase.capitalization = camel_case
372+
373+
dotnet_naming_style.s_camelcase.required_prefix = s_
374+
dotnet_naming_style.s_camelcase.required_suffix =
375+
dotnet_naming_style.s_camelcase.word_separator =
376+
dotnet_naming_style.s_camelcase.capitalization = camel_case

0 commit comments

Comments
 (0)