Skip to content

Commit 8ae7de9

Browse files
authored
Publish standard (#27795)
* Use ECMA spec Contributes to #27789 Change the published spec from the Microsoft C# 6 draft to the ECMA C# 6 draft. * Update links First commit of link updates. This doesn't update all anchors. * fix all links with anchors The standard contains clause numbers, which changes the anchor text for all anchor links. Update those. * fix warnings. * fix warning Adding the C# standard created duplicate H1s. Fix this one.
1 parent f22233a commit 8ae7de9

File tree

111 files changed

+330
-273
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

111 files changed

+330
-273
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ api/
1313
_themes/
1414
_themes.pdf/
1515
_csharplang/
16+
_csharpstandard/
1617
_vblang/
1718
log/
1819
.optemp/

.openpublishing.publish.config.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,12 @@
5151
"branch": "main",
5252
"include_in_build": true
5353
},
54+
{
55+
"path_to_root": "_csharpstandard",
56+
"url": "https://github.com/dotnet/csharpstandard",
57+
"branch": "draft-v6",
58+
"include_in_build": true
59+
},
5460
{
5561
"path_to_root": "_vblang",
5662
"url": "https://github.com/dotnet/vblang",

.repoman.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,11 @@ pull_request:
105105
run:
106106
- labels-add: ["dotnet-csharp/prod", "csharp-spec/tech"]
107107

108+
# csharpstandard
109+
- path: "(?i).*_csharpstandard.*"
110+
run:
111+
- labels-add: ["dotnet-csharp/prod", "csharp-spec/tech"]
112+
108113
# vbspec
109114
- path: "(?i).*_vblang\/spec.*"
110115
run:

docfx.json

Lines changed: 71 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,8 @@
2626
"files": [
2727
"**/*.md"
2828
],
29-
"src": "_csharplang/spec",
30-
"dest": "csharp/language-reference/language-specification",
31-
"exclude": [
32-
"README.md",
33-
"LICENSE.md"
34-
]
29+
"src": "_csharpstandard/standard",
30+
"dest": "csharp/language-reference/language-specification"
3531
},
3632
{
3733
"files": [
@@ -180,6 +176,7 @@
180176
},
181177
"ms.prod": {
182178
"_csharplang/**/*.md": "dotnet-csharp",
179+
"_csharpstandard/**/*.md": "dotnet-csharp",
183180
"_vblang/spec/*.md": "dotnet-visualbasic",
184181
"docs/architecture/**/**.md": "dotnet-architecture",
185182
"docs/azure/**/*.*": "dotnet-azure",
@@ -199,6 +196,7 @@
199196
},
200197
"ms.topic": {
201198
"_csharplang/**/*.md": "language-reference",
199+
"_csharpstandard/**/*.md": "language-reference",
202200
"_vblang/spec/*.md": "language-reference",
203201
"docs/azure/**/**.md": "conceptual",
204202
"docs/core/compatibility/**.md": "reference",
@@ -348,6 +346,7 @@
348346
},
349347
"ms.author": {
350348
"_csharplang/**/*.md": "wiwagn",
349+
"_csharpstandard/**/*.md": "wiwagn",
351350
"_vblang/spec/*.md": "wiwagn",
352351
"docs/architecture/**/**.md": "nanil",
353352
"docs/architecture/grpc-for-wcf-developers/**/**.md": "jamesnk",
@@ -432,7 +431,7 @@
432431
"docs/visual-basic/**/**.md": "kdollard"
433432
},
434433
"ms.date": {
435-
"_csharplang/spec/*.md": "07/01/2017",
434+
"_csharpstandard/standard/*.md": "01/10/2021",
436435
"_csharplang/proposals/csharp-7.0/*.md": "08/13/2018",
437436
"_csharplang/proposals/csharp-7.1/*.md": "02/16/2018",
438437
"_csharplang/proposals/csharp-7.2/*.md": "01/19/2019",
@@ -444,6 +443,7 @@
444443
},
445444
"ms.technology": {
446445
"_csharplang/**/*.md": "csharp-spec",
446+
"_csharpstandard/**/*.md": "csharp-spec",
447447
"_vblang/spec/*.md": "vb-spec",
448448
"docs/architecture/blazor-for-web-forms-developers/**/**.md": "blazor",
449449
"docs/architecture/cloud-native/**/**.md": "cloud-native",
@@ -508,6 +508,7 @@
508508
},
509509
"recommendations": {
510510
"_csharplang/**/*.md": false,
511+
"_csharpstandard/**/*.md": false,
511512
"_vblang/spec/*.md": false,
512513
"docs/architecture/**/**.md": false,
513514
"docs/standard/design-guidelines/**/**.md": false,
@@ -544,25 +545,37 @@
544545
"docs/whats-new/**/**.md": false
545546
},
546547
"title": {
547-
"_csharplang/spec/introduction.md": "Introduction",
548-
"_csharplang/spec/lexical-structure.md": "Lexical structure",
549-
"_csharplang/spec/basic-concepts.md": "Basic concepts",
550-
"_csharplang/spec/types.md": "Types",
551-
"_csharplang/spec/variables.md": "Variables",
552-
"_csharplang/spec/conversions.md": "Conversions",
553-
"_csharplang/spec/expressions.md": "Expressions",
554-
"_csharplang/spec/statements.md": "Statements",
555-
"_csharplang/spec/namespaces.md": "Namespaces",
556-
"_csharplang/spec/classes.md": "Classes",
557-
"_csharplang/spec/structs.md": "Structs",
558-
"_csharplang/spec/arrays.md": "Arrays",
559-
"_csharplang/spec/interfaces.md": "Interfaces",
560-
"_csharplang/spec/enums.md": "Enums",
561-
"_csharplang/spec/delegates.md": "Delegates",
562-
"_csharplang/spec/exceptions.md": "Exceptions",
563-
"_csharplang/spec/attributes.md": "Attributes",
564-
"_csharplang/spec/unsafe-code.md": "Unsafe code",
565-
"_csharplang/spec/documentation-comments.md": "Documentation comments",
548+
"_csharpstandard/standard/README.md": "Table of contents",
549+
"_csharpstandard/standard/foreword.md": "Foreword",
550+
"_csharpstandard/standard/introduction.md": "Introduction",
551+
"_csharpstandard/standard/scope.md": "Scope",
552+
"_csharpstandard/standard/normative-references.md": "Normative references",
553+
"_csharpstandard/standard/terms-and-definitions.md": "Terms and definitions",
554+
"_csharpstandard/standard/acronyms-and-abbreviations.md": "Acronyms and abbreviations",
555+
"_csharpstandard/standard/general-description.md": "General description",
556+
"_csharpstandard/standard/conformance.md": "Conformance",
557+
"_csharpstandard/standard/lexical-structure.md": "Lexical structure",
558+
"_csharpstandard/standard/basic-concepts.md": "Basic concepts",
559+
"_csharpstandard/standard/types.md": "Types",
560+
"_csharpstandard/standard/variables.md": "Variables",
561+
"_csharpstandard/standard/conversions.md": "Conversions",
562+
"_csharpstandard/standard/expressions.md": "Expressions",
563+
"_csharpstandard/standard/statements.md": "Statements",
564+
"_csharpstandard/standard/namespaces.md": "Namespaces",
565+
"_csharpstandard/standard/classes.md": "Classes",
566+
"_csharpstandard/standard/structs.md": "Structs",
567+
"_csharpstandard/standard/arrays.md": "Arrays",
568+
"_csharpstandard/standard/interfaces.md": "Interfaces",
569+
"_csharpstandard/standard/enums.md": "Enums",
570+
"_csharpstandard/standard/delegates.md": "Delegates",
571+
"_csharpstandard/standard/exceptions.md": "Exceptions",
572+
"_csharpstandard/standard/attributes.md": "Attributes",
573+
"_csharpstandard/standard/unsafe-code.md": "Unsafe code",
574+
"_csharpstandard/standard/grammar.md": "Grammar",
575+
"_csharpstandard/standard/portability-issues.md": "Portability issues",
576+
"_csharpstandard/standard/standard-library.md": "Standard library",
577+
"_csharpstandard/standard/documentation-comments.md": "Documentation comments",
578+
"_csharpstandard/standard/Bibliography.md": "Bibliography",
566579

567580
"_csharplang/proposals/csharp-7.0/pattern-matching.md": "Pattern matching",
568581
"_csharplang/proposals/csharp-7.0/local-functions.md": "Local functions",
@@ -654,25 +667,37 @@
654667
"_vblang/spec/overload-resolution.md": "Overload resolution"
655668
},
656669
"description": {
657-
"_csharplang/spec/introduction.md": "This introduction provides an overview of the C# language and its design goals. Note: This chapter has been removed from the official standard in version 5.",
658-
"_csharplang/spec/lexical-structure.md": "This chapter explains the lexical grammar, and the syntactic grammar of the C# language.",
659-
"_csharplang/spec/basic-concepts.md": "This chapter introduces the major building blocks of any C# program. Concepts such as assemblies, program start and completion, member access, garbage completion and execution order are defined.",
660-
"_csharplang/spec/types.md": "This chapter defines value types, reference types, generic types and other program entities. Concepts such as assemblies, namespaces, classes, interfaces and structs are defined.",
661-
"_csharplang/spec/variables.md": "This chapter covers variable categories, default values, definite assignment, and variable references.",
662-
"_csharplang/spec/conversions.md": "This chapter covers the possible conversions from one type to another in C#. Builtin conversions, user defined conversions, implicit and explicit conversions are defined.",
663-
"_csharplang/spec/expressions.md": "This chapter covers operators and expressions. Expressions form several groups, including primary expressions, unary operators, arithmetic operators, relational and type testing operators, and logical operators.",
664-
"_csharplang/spec/statements.md": "This chapter covers statements in C#. Each statement is defined, as are statement blocks, statement reachability, and end points.",
665-
"_csharplang/spec/namespaces.md": "This chapter defines namespaces, including how to declare them and how to use them.",
666-
"_csharplang/spec/classes.md": "This chapter covers class declarations, including all member types that can be included in classes. This includes generic classes as well as non-generic classes.",
667-
"_csharplang/spec/structs.md": "This chapter defines struct declarations. In many cases, the descriptions are defined using the differences between classes and structs.",
668-
"_csharplang/spec/arrays.md": "This chapter defines arrays. It includes the rules for array variance, multi-dimensional arrays and jagged arrays.",
669-
"_csharplang/spec/interfaces.md": "This chapter defines interfaces. This includes interface declarations, implementing interfaces, and explicit interface implementation.",
670-
"_csharplang/spec/enums.md": "This chapter defines the enum types in C#. Enums create a set of named constants and are represented by an underlying integral set of values.",
671-
"_csharplang/spec/delegates.md": "This chapter defines delegates, which are objects that hold type safe function pointers.",
672-
"_csharplang/spec/exceptions.md": "This chapter defines exceptions. Exceptions are how errors are reported by C# programs. This chapter covers throwing exceptions, catching exceptions, and resource cleanup when exceptions are thrown.",
673-
"_csharplang/spec/attributes.md": "This chapter covers attributes. Attributes are metadata types that can be applied to many program elements: classes, structs, assemblies, members, and arguments.",
674-
"_csharplang/spec/unsafe-code.md": "This chapter describes elements of C# that are allowed in unsafe code blocks. These elements include pointers, fixed buffers and dynamic memory allocation.",
675-
"_csharplang/spec/documentation-comments.md": "This appendix describes XML comments that are used to document your program.",
670+
"_csharpstandard/standard/README.md": "This contains the detailed table of contents, listing each clause in the standard",
671+
"_csharpstandard/standard/foreword.md": "Foreword for the C# draft standard",
672+
"_csharpstandard/standard/introduction.md": "This introduction provides an overview of the C# language and its design goals. Note: This chapter has been removed from the official standard in version 5.",
673+
"_csharpstandard/standard/scope.md": "This clause defines the scope of the C# language standard",
674+
"_csharpstandard/standard/normative-references.md": "This clause defines the normative references referred to and cited by this standard. Portions of this standard are governed by these references",
675+
"_csharpstandard/standard/terms-and-definitions.md": "This clause defines terms used in this standard",
676+
"_csharpstandard/standard/acronyms-and-abbreviations.md": "This clause defines acronyms and abbreviations used in this standard",
677+
"_csharpstandard/standard/general-description.md": "This clause defines the general description of the C# language standard",
678+
"_csharpstandard/standard/conformance.md": "This clause defines the areas of conformance for this standard",
679+
"_csharpstandard/standard/lexical-structure.md": "This chapter explains the lexical grammar, and the syntactic grammar of the C# language.",
680+
"_csharpstandard/standard/basic-concepts.md": "This chapter introduces the major building blocks of any C# program. Concepts such as assemblies, program start and completion, member access, garbage completion and execution order are defined.",
681+
"_csharpstandard/standard/types.md": "This chapter defines value types, reference types, generic types and other program entities. Concepts such as assemblies, namespaces, classes, interfaces and structs are defined.",
682+
"_csharpstandard/standard/variables.md": "This chapter covers variable categories, default values, definite assignment, and variable references.",
683+
"_csharpstandard/standard/conversions.md": "This chapter covers the possible conversions from one type to another in C#. Builtin conversions, user defined conversions, implicit and explicit conversions are defined.",
684+
"_csharpstandard/standard/expressions.md": "This chapter covers operators and expressions. Expressions form several groups, including primary expressions, unary operators, arithmetic operators, relational and type testing operators, and logical operators.",
685+
"_csharpstandard/standard/statements.md": "This chapter covers statements in C#. Each statement is defined, as are statement blocks, statement reachability, and end points.",
686+
"_csharpstandard/standard/namespaces.md": "This chapter defines namespaces, including how to declare them and how to use them.",
687+
"_csharpstandard/standard/classes.md": "This chapter covers class declarations, including all member types that can be included in classes. This includes generic classes as well as non-generic classes.",
688+
"_csharpstandard/standard/structs.md": "This chapter defines struct declarations. In many cases, the descriptions are defined using the differences between classes and structs.",
689+
"_csharpstandard/standard/arrays.md": "This chapter defines arrays. It includes the rules for array variance, multi-dimensional arrays and jagged arrays.",
690+
"_csharpstandard/standard/interfaces.md": "This chapter defines interfaces. This includes interface declarations, implementing interfaces, and explicit interface implementation.",
691+
"_csharpstandard/standard/enums.md": "This chapter defines the enum types in C#. Enums create a set of named constants and are represented by an underlying integral set of values.",
692+
"_csharpstandard/standard/delegates.md": "This chapter defines delegates, which are objects that hold type safe function pointers.",
693+
"_csharpstandard/standard/exceptions.md": "This chapter defines exceptions. Exceptions are how errors are reported by C# programs. This chapter covers throwing exceptions, catching exceptions, and resource cleanup when exceptions are thrown.",
694+
"_csharpstandard/standard/attributes.md": "This chapter covers attributes. Attributes are metadata types that can be applied to many program elements: classes, structs, assemblies, members, and arguments.",
695+
"_csharpstandard/standard/unsafe-code.md": "This chapter describes elements of C# that are allowed in unsafe code blocks. These elements include pointers, fixed buffers and dynamic memory allocation.",
696+
"_csharpstandard/standard/grammar.md": "This appendix lists the complete ANTLR grammar for C#. It's comprised of extracted blocks from each of the other clauses.",
697+
"_csharpstandard/standard/portability-issues.md": "This appendix lists information about implementation dependent behavior and situations resulting in undefined behavior.",
698+
"_csharpstandard/standard/standard-library.md": "This appendix lists requirements of the standard library. The C# language relies on these types for some of its behavior.",
699+
"_csharpstandard/standard/documentation-comments.md": "This appendix describes XML comments that are used to document your program.",
700+
"_csharpstandard/standard/Bibliography.md": "This appendix lists external standards referenced in this specification.",
676701

677702
"_csharplang/proposals/csharp-7.0/pattern-matching.md": "This feature specification describes the pattern matching featues added in C# 7.0. Note that future releases built on this initial set of features.",
678703
"_csharplang/proposals/csharp-7.0/local-functions.md": "This feature specification describes local functions, which are functions that are embedded in another method or function.",
@@ -764,7 +789,7 @@
764789
"_vblang/spec/overload-resolution.md": "This chapter describes the rules that govern overload resolution when multiple members have the same name."
765790
},
766791
"titleSuffix": {
767-
"_csharplang/spec/*.md": "C# language specification",
792+
"_csharpstandard/standard/*.md": "C# language specification",
768793
"_csharplang/proposals/csharp-7.0/*.md": "C# 7.0 draft specifications",
769794
"_csharplang/proposals/csharp-7.1/*.md": "C# 7.1 draft specifications",
770795
"_csharplang/proposals/csharp-7.2/*.md": "C# 7.2 draft specifications",

docs/architecture/dapr-for-net-developers/foreword.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
2-
title: Foreword
2+
title: Foreword - Dapr for .NET Developers
33
description: A foreword to Dapr for .NET Developers by Mark Russinovich
44
author: markrussinovich
55
ms.date: 02/17/2021
66
---
77

8-
# Foreword
8+
# Foreword - Dapr for .NET Developers
99

1010
With the wave of cloud adoption well underway, there is a major shift happening towards “cloud native” development, often built with microservice-architectures. These microservices are both stateless and stateful, and run on the cloud and edge, embracing the diversity of languages and frameworks available today. This enterprise shift is driven by both the market forces of faster time to market, as well as the scale and efficiencies of building services for the cloud. Even before COVID-19, cloud adoption was accelerating for enterprises and developers were being asked to do even more to deliver on building these distributed system applications, and that has only accelerated since. Developers in enterprises seek to focus on business logic, while leaning on platforms to imbue their applications with scale, resiliency, maintainability, elasticity, and the other attributes of cloud-native architectures, which is why there is also shift towards serverless platforms that hide the underlying infrastructure. Developers should not be expected to become distributed systems experts. This is where Dapr steps in to help you, whether you are building on infrastructure such as Kubernetes, or on a serverless platform.
1111

docs/csharp/fundamentals/coding-style/identifier-names.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ An **identifier** is the name you assign to a type (class, interface, struct, de
1111
- Identifiers may contain Unicode letter characters, decimal digit characters, Unicode connecting characters, Unicode combining characters, or Unicode formatting characters. For more information on Unicode categories, see the [Unicode Category Database](https://www.unicode.org/reports/tr44/).
1212
You can declare identifiers that match C# keywords by using the `@` prefix on the identifier. The `@` is not part of the identifier name. For example, `@if` declares an identifier named `if`. These [verbatim identifiers](../../language-reference/tokens/verbatim.md) are primarily for interoperability with identifiers declared in other languages.
1313

14-
For a complete definition of valid identifiers, see the [Identifiers topic in the C# Language Specification](~/_csharplang/spec/lexical-structure.md#identifiers).
14+
For a complete definition of valid identifiers, see the [Identifiers topic in the C# Language Specification](~/_csharpstandard/standard/lexical-structure.md#743-identifiers).
1515

1616
## Naming conventions
1717

docs/csharp/fundamentals/exceptions/creating-and-throwing-exceptions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ Add new properties to the exception class when the data they provide is useful t
5151

5252
## C# Language Specification
5353

54-
For more information, see [Exceptions](~/_csharplang/spec/exceptions.md) and [The throw statement](~/_csharplang/spec/statements.md#the-throw-statement) in the [C# Language Specification](/dotnet/csharp/language-reference/language-specification/introduction). The language specification is the definitive source for C# syntax and usage.
54+
For more information, see [Exceptions](~/_csharpstandard/standard/exceptions.md) and [The throw statement](~/_csharpstandard/standard/statements.md#13106-the-throw-statement) in the [C# Language Specification](~/_csharpstandard/standard/README.md). The language specification is the definitive source for C# syntax and usage.
5555

5656
## See also
5757

0 commit comments

Comments
 (0)