diff --git a/README.md b/README.md index 813025781..663cf0d57 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# RSCG - 181 Examples of Roslyn Source Code Generators / 14 created by Microsoft / +# RSCG - 182 Examples of Roslyn Source Code Generators / 14 created by Microsoft / -## Latest Update : 2025-01-17 => 17 January 2025 +## Latest Update : 2025-01-18 => 18 January 2025 If you want to see examples with code, please click ***[List V2](https://ignatandrei.github.io/RSCG_Examples/v2/docs/List-of-RSCG)*** @@ -20,8 +20,30 @@ If you want to be notified each time I add a new RSCG example , please click htt ## Content -Those are the 181 Roslyn Source Code Generators that I have tested you can see and download source code example. +Those are the 182 Roslyn Source Code Generators that I have tested you can see and download source code example. ( including 14 from Microsoft ) +### 182. [rscg_Interface_to_null_object](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg_Interface_to_null_object) , in the [Interface](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#interface) category + +Generated on : 2025-01-18 => 18 January 2025 + +
+ Expand + + + +Author: Andrei Ignat + +Interface to null object - common + +Nuget: [https://www.nuget.org/packages/rscg_Interface_to_null_object/](https://www.nuget.org/packages/rscg_Interface_to_null_object/) + + +Link: [https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg_Interface_to_null_object](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg_Interface_to_null_object) + +Source: [https://github.com/ignatandrei/rscg_Interface_to_null_object/](https://github.com/ignatandrei/rscg_Interface_to_null_object/) + +
+ ### 181. [Larcanum.GitInfo](https://ignatandrei.github.io/RSCG_Examples/v2/docs/Larcanum.GitInfo) , in the [EnhancementProject](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#enhancementproject) category Generated on : 2025-01-17 => 17 January 2025 diff --git a/v2/Generator/all.csv b/v2/Generator/all.csv index b52696fac..0ed7001d3 100644 --- a/v2/Generator/all.csv +++ b/v2/Generator/all.csv @@ -179,3 +179,5 @@ Nr,Key,Source,Category 178,Valuify, https://github.com/MooVC/valuify,Equals 179,ConstructorGenerator, https://github.com/Swarley97/ConstructorGenerator,Constructor 180,Pure.DI, https://github.com/DevTeam/Pure.DI,DependencyInjection +181,Larcanum.GitInfo, https://github.com/lord-executor/Larcanum.GitInfo,EnhancementProject +182,rscg_Interface_to_null_object, https://github.com/ignatandrei/rscg_Interface_to_null_object/,Interface diff --git a/v2/RSCGExamplesData/GeneratorDataRec.json b/v2/RSCGExamplesData/GeneratorDataRec.json index e807b3d54..4877023f6 100644 --- a/v2/RSCGExamplesData/GeneratorDataRec.json +++ b/v2/RSCGExamplesData/GeneratorDataRec.json @@ -1090,5 +1090,12 @@ "Category": 1, "dtStart": "2025-01-17T00:00:00", "show": true + }, + { + "ID":"rscg_Interface_to_null_object", + "Category": 20, + "dtStart": "2025-01-18T00:00:00", + "show": true + } ] \ No newline at end of file diff --git a/v2/book/examples/Dusharp.html b/v2/book/examples/Dusharp.html index 23e38bcdc..26c383a1c 100644 --- a/v2/book/examples/Dusharp.html +++ b/v2/book/examples/Dusharp.html @@ -63,11 +63,6 @@

And here are the generated files


-
- The file generated is UnionTypesDemo.ResultSave.union.g.cs -
- -

You can download the code and this page as pdf from diff --git a/v2/book/examples/Equatable.Generator.html b/v2/book/examples/Equatable.Generator.html index 3712a6075..24070bc2b 100644 --- a/v2/book/examples/Equatable.Generator.html +++ b/v2/book/examples/Equatable.Generator.html @@ -42,6 +42,11 @@

And here are the generated files


+
+ The file generated is GeneratorEqualsDemo.Person.Generator.Equals.g.cs +
+ +

You can download the code and this page as pdf from diff --git a/v2/book/examples/InterceptorTemplate.html b/v2/book/examples/InterceptorTemplate.html index ae3ab1c82..d8b6ab8eb 100644 --- a/v2/book/examples/InterceptorTemplate.html +++ b/v2/book/examples/InterceptorTemplate.html @@ -55,56 +55,6 @@

This was for me the starting code


And here are the generated files

-
- The file generated is RSCG_DemoObjects.IPersonLoader_InsertPerson_10.cs -
- - -
- The file generated is RSCG_DemoObjects.PersonLoader_Connect_9.cs -
- - -
- The file generated is RSCG_DemoObjects.PersonLoader_SavePerson_8.cs -
- - -
- The file generated is RSCG_DemoObjects.Person_FullName_1.cs -
- - -
- The file generated is RSCG_DemoObjects.Person_FullName_3.cs -
- - -
- The file generated is RSCG_DemoObjects.Person_PersonsLoaded_4.cs -
- - -
- The file generated is RSCG_DemoObjects.Person_PersonsLoaded_5.cs -
- - -
- The file generated is RSCG_DemoObjects.Person_ShowRandomPersonNumber_7.cs -
- - -
- The file generated is RSCG_DemoObjects.Person_TestFullNameWithArguments_6.cs -
- - -
- The file generated is RSCG_DemoObjects.Person_Test_2.cs -
- -

You can download the code and this page as pdf from diff --git a/v2/book/examples/Larcanum.GitInfo.html b/v2/book/examples/Larcanum.GitInfo.html index 2db6a3a05..e6c853665 100644 --- a/v2/book/examples/Larcanum.GitInfo.html +++ b/v2/book/examples/Larcanum.GitInfo.html @@ -12,7 +12,7 @@

Info

About

- +Generates GitInfo data from the current environment.

How to use diff --git a/v2/book/examples/PlantUmlClassDiagramGenerator.html b/v2/book/examples/PlantUmlClassDiagramGenerator.html index e24cbff2e..52ed7529b 100644 --- a/v2/book/examples/PlantUmlClassDiagramGenerator.html +++ b/v2/book/examples/PlantUmlClassDiagramGenerator.html @@ -42,11 +42,6 @@

And here are the generated files


-
- The file generated is Person.puml -
- -

You can download the code and this page as pdf from diff --git a/v2/book/examples/rscg_Interface_to_null_object.html b/v2/book/examples/rscg_Interface_to_null_object.html new file mode 100644 index 000000000..56d9c8928 --- /dev/null +++ b/v2/book/examples/rscg_Interface_to_null_object.html @@ -0,0 +1,75 @@ + +

RSCG nr 182 : rscg_Interface_to_null_object

+ +

Info

+Nuget :
https://www.nuget.org/packages/rscg_Interface_to_null_object/ + +

You can find more details at : https://github.com/ignatandrei/rscg_Interface_to_null_object/

+ +

Author :Andrei Ignat

+ +

Source : https://github.com/ignatandrei/rscg_Interface_to_null_object/

+ +

About

+ +Generate null objects for interfaces + +

+ How to use +

+

+ Add reference to the rscg_Interface_to_null_object in the csproj +

+ + +

This was for me the starting code

+ +
+ I have coded the file Program.cs +
+ +
+ +
+ I have coded the file IEmployee.cs +
+ +
+ +
+ I have coded the file IDepartment.cs +
+ +
+

And here are the generated files

+ +
+ The file generated is TheAssemblyInfo.g.cs +
+ + +
+ The file generated is IDepartment_null.cs +
+ + +
+ The file generated is IEmployee_null.cs +
+ + +

+ You can download the code and this page as pdf from + + https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg_Interface_to_null_object + +

+ + +

+ You can see the whole list at + + https://ignatandrei.github.io/RSCG_Examples/v2/docs/List-of-RSCG + +

+ diff --git a/v2/book/list.html b/v2/book/list.html index 288ff131e..d8d09c6c3 100644 --- a/v2/book/list.html +++ b/v2/book/list.html @@ -17,7 +17,7 @@

-This is the list of 181 RSCG with examples => +This is the list of 182 RSCG with examples =>

@@ -750,6 +750,10 @@

+ + + +
181 Larcanum.GitInfo
182rscg_Interface_to_null_object
diff --git a/v2/book/pandocHTML.yaml b/v2/book/pandocHTML.yaml index 66e13c7e2..f44145f6f 100644 --- a/v2/book/pandocHTML.yaml +++ b/v2/book/pandocHTML.yaml @@ -195,6 +195,7 @@ input-files: - examples/ConstructorGenerator.html - examples/Pure.DI.html - examples/Larcanum.GitInfo.html +- examples/rscg_Interface_to_null_object.html # or you may use input-file: with a single value # defaults: diff --git a/v2/rscg_examples/Dusharp/src/.tours/Dusharp.tour b/v2/rscg_examples/Dusharp/src/.tours/Dusharp.tour index 94ebbabf7..07298af83 100644 --- a/v2/rscg_examples/Dusharp/src/.tours/Dusharp.tour +++ b/v2/rscg_examples/Dusharp/src/.tours/Dusharp.tour @@ -29,33 +29,27 @@ } - ,{ - "file": "UnionTypesDemo/obj/GX/Sera.TaggedUnion.Analyzers/Sera.TaggedUnion.Analyzers.Generators.UnionGenerator/UnionTypesDemo.ResultSave.union.g.cs", - "description": "Generated File 5 from 5 : UnionTypesDemo.ResultSave.union.g.cs ", - "line": 1 - } - ,{ "file": "UnionTypesDemo/obj/GX/Dusharp/Dusharp.UnionSourceGenerator/UnionTypesDemo.ResultSave.Dusharp.g.cs", - "description": "Generated File 4 from 5 : UnionTypesDemo.ResultSave.Dusharp.g.cs ", + "description": "Generated File 4 from 4 : UnionTypesDemo.ResultSave.Dusharp.g.cs ", "line": 1 } ,{ "file": "UnionTypesDemo/obj/GX/Dusharp/Dusharp.UnionSourceGenerator/Dusharp.EmbeddedCode.UnionCaseAttribute.cs", - "description": "Generated File 3 from 5 : Dusharp.EmbeddedCode.UnionCaseAttribute.cs ", + "description": "Generated File 3 from 4 : Dusharp.EmbeddedCode.UnionCaseAttribute.cs ", "line": 1 } ,{ "file": "UnionTypesDemo/obj/GX/Dusharp/Dusharp.UnionSourceGenerator/Dusharp.EmbeddedCode.UnionAttribute.cs", - "description": "Generated File 2 from 5 : Dusharp.EmbeddedCode.UnionAttribute.cs ", + "description": "Generated File 2 from 4 : Dusharp.EmbeddedCode.UnionAttribute.cs ", "line": 1 } ,{ "file": "UnionTypesDemo/obj/GX/Dusharp/Dusharp.UnionSourceGenerator/Dusharp.EmbeddedCode.ExceptionUtils.cs", - "description": "Generated File 1 from 5 : Dusharp.EmbeddedCode.ExceptionUtils.cs ", + "description": "Generated File 1 from 4 : Dusharp.EmbeddedCode.ExceptionUtils.cs ", "line": 1 } diff --git a/v2/rscg_examples/Equatable.Generator/src/.tours/Equatable.Generator.tour b/v2/rscg_examples/Equatable.Generator/src/.tours/Equatable.Generator.tour index 02035baed..41e50544b 100644 --- a/v2/rscg_examples/Equatable.Generator/src/.tours/Equatable.Generator.tour +++ b/v2/rscg_examples/Equatable.Generator/src/.tours/Equatable.Generator.tour @@ -23,9 +23,15 @@ } + ,{ + "file": "GeneratorEqualsDemo/obj/GX/Generator.Equals/Generator.Equals.EqualsGenerator/GeneratorEqualsDemo.Person.Generator.Equals.g.cs", + "description": "Generated File 2 from 2 : GeneratorEqualsDemo.Person.Generator.Equals.g.cs ", + "line": 1 + } + ,{ "file": "GeneratorEqualsDemo/obj/GX/Equatable.SourceGenerator/Equatable.SourceGenerator.EquatableGenerator/GeneratorEqualsDemo.Person.Equatable.g.cs", - "description": "Generated File 1 from 1 : GeneratorEqualsDemo.Person.Equatable.g.cs ", + "description": "Generated File 1 from 2 : GeneratorEqualsDemo.Person.Equatable.g.cs ", "line": 1 } diff --git a/v2/rscg_examples/InterceptorTemplate/src/.tours/InterceptorTemplate.tour b/v2/rscg_examples/InterceptorTemplate/src/.tours/InterceptorTemplate.tour index 7c057ff41..f163857aa 100644 --- a/v2/rscg_examples/InterceptorTemplate/src/.tours/InterceptorTemplate.tour +++ b/v2/rscg_examples/InterceptorTemplate/src/.tours/InterceptorTemplate.tour @@ -41,66 +41,6 @@ } - ,{ - "file": "RSCG_InterceptorTemplateConsole/obj/GX/RSCG_InterceptorTemplate/RSCG_InterceptorTemplate.MethodIntercept/RSCG_DemoObjects.Person_Test_2.cs", - "description": "Generated File 10 from 10 : RSCG_DemoObjects.Person_Test_2.cs ", - "line": 1 - } - - ,{ - "file": "RSCG_InterceptorTemplateConsole/obj/GX/RSCG_InterceptorTemplate/RSCG_InterceptorTemplate.MethodIntercept/RSCG_DemoObjects.Person_TestFullNameWithArguments_6.cs", - "description": "Generated File 9 from 10 : RSCG_DemoObjects.Person_TestFullNameWithArguments_6.cs ", - "line": 1 - } - - ,{ - "file": "RSCG_InterceptorTemplateConsole/obj/GX/RSCG_InterceptorTemplate/RSCG_InterceptorTemplate.MethodIntercept/RSCG_DemoObjects.Person_ShowRandomPersonNumber_7.cs", - "description": "Generated File 8 from 10 : RSCG_DemoObjects.Person_ShowRandomPersonNumber_7.cs ", - "line": 1 - } - - ,{ - "file": "RSCG_InterceptorTemplateConsole/obj/GX/RSCG_InterceptorTemplate/RSCG_InterceptorTemplate.MethodIntercept/RSCG_DemoObjects.Person_PersonsLoaded_5.cs", - "description": "Generated File 7 from 10 : RSCG_DemoObjects.Person_PersonsLoaded_5.cs ", - "line": 1 - } - - ,{ - "file": "RSCG_InterceptorTemplateConsole/obj/GX/RSCG_InterceptorTemplate/RSCG_InterceptorTemplate.MethodIntercept/RSCG_DemoObjects.Person_PersonsLoaded_4.cs", - "description": "Generated File 6 from 10 : RSCG_DemoObjects.Person_PersonsLoaded_4.cs ", - "line": 1 - } - - ,{ - "file": "RSCG_InterceptorTemplateConsole/obj/GX/RSCG_InterceptorTemplate/RSCG_InterceptorTemplate.MethodIntercept/RSCG_DemoObjects.Person_FullName_3.cs", - "description": "Generated File 5 from 10 : RSCG_DemoObjects.Person_FullName_3.cs ", - "line": 1 - } - - ,{ - "file": "RSCG_InterceptorTemplateConsole/obj/GX/RSCG_InterceptorTemplate/RSCG_InterceptorTemplate.MethodIntercept/RSCG_DemoObjects.Person_FullName_1.cs", - "description": "Generated File 4 from 10 : RSCG_DemoObjects.Person_FullName_1.cs ", - "line": 1 - } - - ,{ - "file": "RSCG_InterceptorTemplateConsole/obj/GX/RSCG_InterceptorTemplate/RSCG_InterceptorTemplate.MethodIntercept/RSCG_DemoObjects.PersonLoader_SavePerson_8.cs", - "description": "Generated File 3 from 10 : RSCG_DemoObjects.PersonLoader_SavePerson_8.cs ", - "line": 1 - } - - ,{ - "file": "RSCG_InterceptorTemplateConsole/obj/GX/RSCG_InterceptorTemplate/RSCG_InterceptorTemplate.MethodIntercept/RSCG_DemoObjects.PersonLoader_Connect_9.cs", - "description": "Generated File 2 from 10 : RSCG_DemoObjects.PersonLoader_Connect_9.cs ", - "line": 1 - } - - ,{ - "file": "RSCG_InterceptorTemplateConsole/obj/GX/RSCG_InterceptorTemplate/RSCG_InterceptorTemplate.MethodIntercept/RSCG_DemoObjects.IPersonLoader_InsertPerson_10.cs", - "description": "Generated File 1 from 10 : RSCG_DemoObjects.IPersonLoader_InsertPerson_10.cs ", - "line": 1 - } - ], "ref": "main" diff --git a/v2/rscg_examples/PlantUmlClassDiagramGenerator/src/DemoClass2Text/.tours/PlantUmlClassDiagramGenerator.tour b/v2/rscg_examples/PlantUmlClassDiagramGenerator/src/DemoClass2Text/.tours/PlantUmlClassDiagramGenerator.tour index 71e240740..5124b3c4c 100644 --- a/v2/rscg_examples/PlantUmlClassDiagramGenerator/src/DemoClass2Text/.tours/PlantUmlClassDiagramGenerator.tour +++ b/v2/rscg_examples/PlantUmlClassDiagramGenerator/src/DemoClass2Text/.tours/PlantUmlClassDiagramGenerator.tour @@ -23,15 +23,9 @@ } - ,{ - "file": "DemoClass2Text/obj/GX/PlantUmlClassDiagramGenerator.SourceGenerator/PlantUmlClassDiagramGenerator.SourceGenerator.PlantUmlSourceGenerator/generated-uml/Person.puml", - "description": "Generated File 2 from 2 : Person.puml ", - "line": 1 - } - ,{ "file": "DemoClass2Text/obj/GX/PlantUmlClassDiagramGenerator.SourceGenerator/PlantUmlClassDiagramGenerator.SourceGenerator.PlantUmlSourceGenerator/Attributes.cs", - "description": "Generated File 1 from 2 : Attributes.cs ", + "description": "Generated File 1 from 1 : Attributes.cs ", "line": 1 } diff --git a/v2/rscg_examples/rscg_Interface_to_null_object/description.json b/v2/rscg_examples/rscg_Interface_to_null_object/description.json new file mode 100644 index 000000000..d8ddff266 --- /dev/null +++ b/v2/rscg_examples/rscg_Interface_to_null_object/description.json @@ -0,0 +1,23 @@ +{ + "generator":{ + "name":"rscg_Interface_to_null_object", + "nuget":[ + "https://www.nuget.org/packages/rscg_Interface_to_null_object/", + "https://www.nuget.org/packages/rscg_Interface_to_null_object_common" + ], + "link":"https://github.com/ignatandrei/rscg_Interface_to_null_object/", + "author":"Andrei Ignat", + "source":"https://github.com/ignatandrei/rscg_Interface_to_null_object/" + }, + "data":{ + "goodFor":["Generate null objects for interfaces"], + "csprojDemo":"NullInterface.csproj", + "csFiles":["Program.cs","IEmployee.cs","IDepartment.cs"], + "excludeDirectoryGenerated":[""], + "includeAdditionalFiles":[""] + }, + "links":{ + "blog":"", + "video":"" + } +} \ No newline at end of file diff --git a/v2/rscg_examples/rscg_Interface_to_null_object/nuget.txt b/v2/rscg_examples/rscg_Interface_to_null_object/nuget.txt new file mode 100644 index 000000000..d6d42a83d --- /dev/null +++ b/v2/rscg_examples/rscg_Interface_to_null_object/nuget.txt @@ -0,0 +1 @@ +Interface to null object - common \ No newline at end of file diff --git a/v2/rscg_examples/rscg_Interface_to_null_object/readme.txt b/v2/rscg_examples/rscg_Interface_to_null_object/readme.txt new file mode 100644 index 000000000..0e5dc3896 --- /dev/null +++ b/v2/rscg_examples/rscg_Interface_to_null_object/readme.txt @@ -0,0 +1,58 @@ +[![NuGet version](https://img.shields.io/nuget/v/rscg_Interface_to_null_object.svg?style=flat-square)](https://www.nuget.org/packages/rscg_Interface_to_null_object) + +[![NuGet version](https://img.shields.io/nuget/v/rscg_Interface_to_null_object_common.svg?style=flat-square)](https://www.nuget.org/packages/rscg_Interface_to_null_object_common) + + +# Interface to Null Object Pattern +Implementation of https://en.wikipedia.org/wiki/Null_object_pattern from interface + +# Installation + +Add to your csproj file: + +```xml + + + + + + true + $(BaseIntermediateOutputPath)\GX + +``` + +Or add the nuget packages rscg_Interface_to_null_object and rscg_Interface_to_null_object_common + +# Usage + +```csharp +[InterfaceToNullObject.ToNullObject] +public interface IEmployee +{ + public string FirstName { get; set; } + public string LastName { get; set; } + public IDepartment Department { get; set; } + public string GetFullName(); + +} +``` + +And then a C# class that implements the interface will be generated + +```csharp +public partial class Employee_null : global::IntegrationConsole.IEmployee +{ + + public virtual string FirstName { get; set; } = default(string); + + public virtual string LastName { get; set; } = default(string); + + public virtual IntegrationConsole.IDepartment Department { get; set; } = default(IntegrationConsole.IDepartment); + + public virtual string GetFullName() { return default(string); } + +} +``` + + + diff --git a/v2/rscg_examples/rscg_Interface_to_null_object/src/.tours/rscg_Interface_to_null_object.tour b/v2/rscg_examples/rscg_Interface_to_null_object/src/.tours/rscg_Interface_to_null_object.tour new file mode 100644 index 000000000..7825ad23b --- /dev/null +++ b/v2/rscg_examples/rscg_Interface_to_null_object/src/.tours/rscg_Interface_to_null_object.tour @@ -0,0 +1,54 @@ + +{ + "$schema": "https://aka.ms/codetour-schema", + "title": "rscg_Interface_to_null_object", + "steps": + [ + { + "file": "NullInterface/NullInterface.csproj", + "description": "First, we add Nuget [rscg_Interface_to_null_object](https://www.nuget.org/packages/rscg_Interface_to_null_object/) in csproj ", + "pattern": "rscg_Interface_to_null_object" + } + + ,{ + "file": "NullInterface/IDepartment.cs", + "description": "File IDepartment.cs ", + "pattern": "this is the code" + } + + ,{ + "file": "NullInterface/IEmployee.cs", + "description": "File IEmployee.cs ", + "pattern": "this is the code" + } + + ,{ + "file": "NullInterface/Program.cs", + "description": "File Program.cs \r\n>> dotnet run --project NullInterface/NullInterface.csproj ", + "pattern": "this is the code" + } + + + ,{ + "file": "NullInterface/obj/GX/rscg_Interface_to_null_object/rscg_Interface_to_null_object.GenerateNullObjectFromInterface/IEmployee_null.cs", + "description": "Generated File 3 from 3 : IEmployee_null.cs ", + "line": 1 + } + + ,{ + "file": "NullInterface/obj/GX/rscg_Interface_to_null_object/rscg_Interface_to_null_object.GenerateNullObjectFromInterface/IDepartment_null.cs", + "description": "Generated File 2 from 3 : IDepartment_null.cs ", + "line": 1 + } + + ,{ + "file": "NullInterface/obj/GX/NameGenerator/NameGenerator.NameGen/TheAssemblyInfo.g.cs", + "description": "Generated File 1 from 3 : TheAssemblyInfo.g.cs ", + "line": 1 + } + + ], + + "ref": "main" + +} \ No newline at end of file diff --git a/v2/rscg_examples/rscg_Interface_to_null_object/src/NullInterface.sln b/v2/rscg_examples/rscg_Interface_to_null_object/src/NullInterface.sln new file mode 100644 index 000000000..3b7cc7a00 --- /dev/null +++ b/v2/rscg_examples/rscg_Interface_to_null_object/src/NullInterface.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.12.35707.178 d17.12 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NullInterface", "NullInterface\NullInterface.csproj", "{CEFBFB93-D5AD-4B66-BD23-8ECE3FEB2718}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {CEFBFB93-D5AD-4B66-BD23-8ECE3FEB2718}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CEFBFB93-D5AD-4B66-BD23-8ECE3FEB2718}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CEFBFB93-D5AD-4B66-BD23-8ECE3FEB2718}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CEFBFB93-D5AD-4B66-BD23-8ECE3FEB2718}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/v2/rscg_examples/rscg_Interface_to_null_object/src/NullInterface/IDepartment.cs b/v2/rscg_examples/rscg_Interface_to_null_object/src/NullInterface/IDepartment.cs new file mode 100644 index 000000000..8ac1e06ac --- /dev/null +++ b/v2/rscg_examples/rscg_Interface_to_null_object/src/NullInterface/IDepartment.cs @@ -0,0 +1,9 @@ +namespace NullInterface; + +using InterfaceToNullObject; + +[ToNullObject] +public interface IDepartment +{ + public string Name { get; set; } +} diff --git a/v2/rscg_examples/rscg_Interface_to_null_object/src/NullInterface/IEmployee.cs b/v2/rscg_examples/rscg_Interface_to_null_object/src/NullInterface/IEmployee.cs new file mode 100644 index 000000000..861ef2be0 --- /dev/null +++ b/v2/rscg_examples/rscg_Interface_to_null_object/src/NullInterface/IEmployee.cs @@ -0,0 +1,16 @@ + +using InterfaceToNullObject; + +namespace NullInterface; +[ToNullObject] +public interface IEmployee +{ + public string FirstName { get; set; } + public string LastName { get; set; } + public IDepartment Department { get; set; } + public string GetFullName(); + + public string GetFullNameAndDepartment(string separator); + public bool MoveEmployeeToDepartment(IDepartment department); + +} diff --git a/v2/rscg_examples/rscg_Interface_to_null_object/src/NullInterface/NullInterface.csproj b/v2/rscg_examples/rscg_Interface_to_null_object/src/NullInterface/NullInterface.csproj new file mode 100644 index 000000000..ef7710cf0 --- /dev/null +++ b/v2/rscg_examples/rscg_Interface_to_null_object/src/NullInterface/NullInterface.csproj @@ -0,0 +1,19 @@ + + + + Exe + net9.0 + enable + enable + + + + + + + + + true + $(BaseIntermediateOutputPath)\GX + + diff --git a/v2/rscg_examples/rscg_Interface_to_null_object/src/NullInterface/Program.cs b/v2/rscg_examples/rscg_Interface_to_null_object/src/NullInterface/Program.cs new file mode 100644 index 000000000..8275b6087 --- /dev/null +++ b/v2/rscg_examples/rscg_Interface_to_null_object/src/NullInterface/Program.cs @@ -0,0 +1,12 @@ +using NullInterface; + +Console.WriteLine("Hello, World!"); + +Console.WriteLine("Hello, World!"); +IDepartment department = new Department_null(); +department.Name = "IT"; +IEmployee employee = new Employee_null(); +employee.FirstName = "Andrei"; +employee.Department = department; +Console.WriteLine(employee.FirstName); +Console.WriteLine(employee.Department.Name); \ No newline at end of file diff --git a/v2/rscg_examples/rscg_Interface_to_null_object/video.json b/v2/rscg_examples/rscg_Interface_to_null_object/video.json new file mode 100644 index 000000000..d3f0fbe89 --- /dev/null +++ b/v2/rscg_examples/rscg_Interface_to_null_object/video.json @@ -0,0 +1,39 @@ +{ + "scriptName": "rscg_Interface_to_null_object", + "steps": +[ + {"typeStep":"exec","arg":"clipchamp.exe launch"}, + {"typeStep":"text","arg": "Welcome to Roslyn Examples"}, + {"typeStep":"text","arg":"If you want to see more examples , see List Of RSCG"}, + {"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/List-of-RSCG"}, + {"typeStep":"text","arg": "My name is Andrei Ignat and I am deeply fond of Roslyn Source Code Generator. "}, + +{"typeStep":"text","arg": "Today I will present rscg_Interface_to_null_object . Generate null objects for interfaces ."}, +{"typeStep":"browser","arg":"https://www.nuget.org/packages/rscg_Interface_to_null_object/"}, +{"typeStep":"text","arg": "The whole example is here"}, +{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg_Interface_to_null_object"}, +{"typeStep":"text","arg": "You can download the code from here"}, +{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg_Interface_to_null_object#download-example-net--c-"}, +{"typeStep":"text","arg":"Here is the code downloaded "}, +{"typeStep":"exec","arg":"explorer.exe /select,D:\\gth\\RSCG_Examples\\v2\\rscg_examples\\rscg_Interface_to_null_object\\src\\NullInterface.sln"}, +{"typeStep":"text","arg": "So , let's start the project with Visual Studio Code "}, +{"typeStep":"stepvscode","arg": "-n D:\\gth\\RSCG_Examples\\v2\\rscg_examples\\rscg_Interface_to_null_object\\src"}, + +{"typeStep":"text","arg": "To use it ,you will put the Nuget rscg_Interface_to_null_object into the csproj "}, + +{"typeStep":"stepvscode","arg": "-r -g D:\\gth\\RSCG_Examples\\v2\\rscg_examples\\rscg_Interface_to_null_object\\src\\NullInterface\\NullInterface.csproj"}, + +{"typeStep":"text","arg": "And now I will show you an example of using rscg_Interface_to_null_object"}, + +{"typeStep":"hide","arg": "now execute the tour in VSCode"}, +{"typeStep":"tour", "arg": "src/.tours/"}, +{"typeStep":"text","arg":" And I will execute the project"}, +{"typeStep":"showproj", "arg":"NullInterface.csproj"}, +{"typeStep":"text","arg":" This concludes the project"}, +{"typeStep":"waitseconds","arg":"30"}, +{"typeStep":"text","arg": "Remember, you can download the code from here"}, +{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg_Interface_to_null_object#download-example-net--c-", +SpeakTest=" "}, +{"typeStep":"waitseconds","arg":"30"}, +] +} diff --git a/v2/rscg_examples_site/docs/Categories/Interface.md b/v2/rscg_examples_site/docs/Categories/Interface.md index 71544b9bb..b57a42715 100644 --- a/v2/rscg_examples_site/docs/Categories/Interface.md +++ b/v2/rscg_examples_site/docs/Categories/Interface.md @@ -1,6 +1,6 @@

Interface

-Number RSCG: 10 +Number RSCG: 11 1 [Biwen.AutoClassGen](/docs/Biwen.AutoClassGen) @@ -20,5 +20,7 @@ Number RSCG: 10 9 [Roozie.AutoInterface](/docs/Roozie.AutoInterface) - 10 [RSCG_Static](/docs/RSCG_Static) + 10 [rscg_Interface_to_null_object](/docs/rscg_Interface_to_null_object) + + 11 [RSCG_Static](/docs/RSCG_Static) \ No newline at end of file diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/ActorSrcGen.md b/v2/rscg_examples_site/docs/RSCG-Examples/ActorSrcGen.md index 95c16e5cf..bb461a27f 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/ActorSrcGen.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/ActorSrcGen.md @@ -612,7 +612,7 @@ Those are taken from $(BaseIntermediateOutputPath)\GX ```csharp showLineNumbers -// Generated on 2024-05-11 +// Generated on 2024-09-22 #pragma warning disable CS8625 // Cannot convert null literal to non-nullable reference type. #pragma warning disable CS0108 // hides inherited member. diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/Biwen.AutoClassGen.md b/v2/rscg_examples_site/docs/RSCG-Examples/Biwen.AutoClassGen.md index 2875d7494..582225d48 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/Biwen.AutoClassGen.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/Biwen.AutoClassGen.md @@ -256,7 +256,7 @@ namespace FromInterface https://ignatandrei.github.io/RSCG_Examples/v2/docs/Biwen.AutoClassGen -### In the same category (Interface) - 9 other generators +### In the same category (Interface) - 10 other generators #### [CopyCat](/docs/CopyCat) @@ -283,5 +283,8 @@ https://ignatandrei.github.io/RSCG_Examples/v2/docs/Biwen.AutoClassGen #### [Roozie.AutoInterface](/docs/Roozie.AutoInterface) +#### [rscg_Interface_to_null_object](/docs/rscg_Interface_to_null_object) + + #### [RSCG_Static](/docs/RSCG_Static) diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/BuildInfo.md b/v2/rscg_examples_site/docs/RSCG-Examples/BuildInfo.md index b3266bb17..d7c8e4565 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/BuildInfo.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/BuildInfo.md @@ -214,8 +214,8 @@ internal static class BuildInformation /// /// Returns the build date (UTC). /// - /// Value is: 2024-05-11T16:36:37.3386715Z - public static readonly DateTime BuildAt = DateTime.ParseExact("2024-05-11T16:36:37.3386715Z", "O", CultureInfo.InvariantCulture, DateTimeStyles.RoundtripKind); + /// Value is: 2024-09-22T18:47:23.1595814Z + public static readonly DateTime BuildAt = DateTime.ParseExact("2024-09-22T18:47:23.1595814Z", "O", CultureInfo.InvariantCulture, DateTimeStyles.RoundtripKind); /// /// Returns the platform. diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/BuilderGenerator.md b/v2/rscg_examples_site/docs/RSCG-Examples/BuilderGenerator.md index a87c0f285..6e9acafad 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/BuilderGenerator.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/BuilderGenerator.md @@ -313,7 +313,7 @@ namespace BuilderGenerator //------------------------------------------------------------------------------ // -// This code was generated by BuilderGenerator at 2024-05-11T19:36:05 in 5172.4129ms. +// This code was generated by BuilderGenerator at 2024-09-22T21:47:19 in 33.7364ms. // //------------------------------------------------------------------------------ using System.CodeDom.Compiler; diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/Com.md b/v2/rscg_examples_site/docs/RSCG-Examples/Com.md index 21db36963..364d06cae 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/Com.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/Com.md @@ -277,7 +277,7 @@ file unsafe class InterfaceInformation : global::System.Runtime.InteropServices. [global::System.Runtime.InteropServices.DynamicInterfaceCastableImplementationAttribute] file unsafe partial interface InterfaceImplementation : global::test.IShellExecute { - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "8.0.10.6711")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "8.0.10.36612")] [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute] nint global::test.IShellExecute.ShellExecute(nint hwnd, string lpOperation, string lpFile, string lpParameters, string lpDirectory, int nShowCmd) { diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/CommandLine.md b/v2/rscg_examples_site/docs/RSCG-Examples/CommandLine.md index 927c94ea7..b40a533b7 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/CommandLine.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/CommandLine.md @@ -1155,7 +1155,7 @@ Those are taken from $(BaseIntermediateOutputPath)\GX ```csharp showLineNumbers // // Generated by DotMake.CommandLine.SourceGeneration v1.8.0.0 -// Roslyn (Microsoft.CodeAnalysis) v4.1000.24.20215 +// Roslyn (Microsoft.CodeAnalysis) v4.1100.24.36508 // Generation: 1 namespace GeneratedCode @@ -1201,7 +1201,7 @@ namespace GeneratedCode ```csharp showLineNumbers // // Generated by DotMake.CommandLine.SourceGeneration v1.8.0.0 -// Roslyn (Microsoft.CodeAnalysis) v4.1000.24.20215 +// Roslyn (Microsoft.CodeAnalysis) v4.1100.24.36508 // Generation: 1 namespace GeneratedCode @@ -1304,7 +1304,7 @@ namespace GeneratedCode ```csharp showLineNumbers // // Generated by DotMake.CommandLine.SourceGeneration v1.8.0.0 -// Roslyn (Microsoft.CodeAnalysis) v4.1000.24.20215 +// Roslyn (Microsoft.CodeAnalysis) v4.1100.24.36508 // Generation: 1 namespace GeneratedCode @@ -1355,7 +1355,7 @@ namespace GeneratedCode ```csharp showLineNumbers // // Generated by DotMake.CommandLine.SourceGeneration v1.8.0.0 -// Roslyn (Microsoft.CodeAnalysis) v4.1000.24.20215 +// Roslyn (Microsoft.CodeAnalysis) v4.1100.24.36508 // Generation: 1 namespace GeneratedCode diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/CopyCat.md b/v2/rscg_examples_site/docs/RSCG-Examples/CopyCat.md index c320b42d9..ad3d11f0d 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/CopyCat.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/CopyCat.md @@ -547,7 +547,7 @@ internal partial class CoffeeWithLogging https://ignatandrei.github.io/RSCG_Examples/v2/docs/CopyCat -### In the same category (Interface) - 9 other generators +### In the same category (Interface) - 10 other generators #### [Biwen.AutoClassGen](/docs/Biwen.AutoClassGen) @@ -574,5 +574,8 @@ https://ignatandrei.github.io/RSCG_Examples/v2/docs/CopyCat #### [Roozie.AutoInterface](/docs/Roozie.AutoInterface) +#### [rscg_Interface_to_null_object](/docs/rscg_Interface_to_null_object) + + #### [RSCG_Static](/docs/RSCG_Static) diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/CopyTo.md b/v2/rscg_examples_site/docs/RSCG-Examples/CopyTo.md index f0d09b123..6f8c4a4b6 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/CopyTo.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/CopyTo.md @@ -167,7 +167,7 @@ internal sealed partial class GenerateCopyToAttribute : global::System.Attribute ```csharp showLineNumbers // -// This file was last generated by the RhoMicro.CodeAnalysis.CopyToGenerator on 5/11/2024 7:36:26 PM +03:00 +// This file was last generated by the RhoMicro.CodeAnalysis.CopyToGenerator on 9/22/2024 9:48:06 PM +03:00 // #pragma warning disable namespace CopyToDemo diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/Dapper.AOT.md b/v2/rscg_examples_site/docs/RSCG-Examples/Dapper.AOT.md index bdf204903..367f3bbe1 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/Dapper.AOT.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/Dapper.AOT.md @@ -192,7 +192,7 @@ namespace Dapper.AOT // interceptors must be in a known namespace { file static class DapperGeneratedInterceptors { - [global::System.Runtime.CompilerServices.InterceptsLocationAttribute("D:\\gth\\RSCG_Examples\\v2\\rscg_examples\\Dapper.AOT\\src\\DapperDemo\\DapperDemo\\Product.cs", 8, 93)] + [global::System.Runtime.CompilerServices.InterceptsLocationAttribute("D:\\gth\\RSCG_Examples\\v2\\rscg_examples\\Dapper.AOT\\src\\DapperDemo\\Product.cs", 8, 93)] internal static global::DapperDemo.Product QueryFirst0(this global::System.Data.IDbConnection cnn, string sql, object? param, global::System.Data.IDbTransaction? transaction, int? commandTimeout, global::System.Data.CommandType? commandType) { // Query, TypedResult, HasParameters, SingleRow, Text, AtLeastOne, BindResultsByName, KnownParameters diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/Dusharp.md b/v2/rscg_examples_site/docs/RSCG-Examples/Dusharp.md index 9f87123de..f0f60df17 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/Dusharp.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/Dusharp.md @@ -507,150 +507,6 @@ namespace UnionTypesDemo - - - -```csharp showLineNumbers -// - -#nullable enable - -using Sera.TaggedUnion; - -namespace UnionTypesDemo { - -public partial struct ResultSave - : global::Sera.TaggedUnion.ITaggedUnion - , global::System.IEquatable - , global::System.IComparable -#if NET7_0_OR_GREATER - , global::System.Numerics.IEqualityOperators - , global::System.Numerics.IComparisonOperators -#endif -{ - private __impl_ _impl; - private ResultSave(__impl_ _impl) { this._impl = _impl; } - - public readonly Tags Tag - { - [global::System.Runtime.CompilerServices.MethodImpl(global::System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - get => this._impl._tag; - } - - public enum Tags : byte - { - Ok = 1, - NotFound = 2, - } - - [global::System.Runtime.CompilerServices.CompilerGenerated] - private struct __impl_ - { - public __unmanaged_ _unmanaged_; - public readonly Tags _tag; - - [global::System.Runtime.CompilerServices.CompilerGenerated] - [global::System.Runtime.InteropServices.StructLayout(global::System.Runtime.InteropServices.LayoutKind.Explicit)] - internal struct __unmanaged_ - { - [global::System.Runtime.InteropServices.FieldOffset(0)] - public int _0; - } - - public __impl_(Tags _tag) - { - global::System.Runtime.CompilerServices.Unsafe.SkipInit(out this._unmanaged_); - this._tag = _tag; - } - } - - [global::System.Runtime.CompilerServices.MethodImpl(global::System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public static ResultSave MakeOk(int value) - { - var _impl = new __impl_(Tags.Ok); - _impl._unmanaged_._0 = value; - return new ResultSave(_impl); - } - [global::System.Runtime.CompilerServices.MethodImpl(global::System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public static ResultSave MakeNotFound() - { - var _impl = new __impl_(Tags.NotFound); - return new ResultSave(_impl); - } - - public readonly bool IsOk - { - [global::System.Runtime.CompilerServices.MethodImpl(global::System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - get => this._impl._tag == Tags.Ok; - } - public readonly bool IsNotFound - { - [global::System.Runtime.CompilerServices.MethodImpl(global::System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - get => this._impl._tag == Tags.NotFound; - } - - public int Ok - { - [global::System.Runtime.CompilerServices.MethodImpl(global::System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - readonly get => !this.IsOk ? default! : this._impl._unmanaged_._0!; - [global::System.Runtime.CompilerServices.MethodImpl(global::System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - set { if (this.IsOk) { this._impl._unmanaged_._0 = value; } } - } - - [global::System.Runtime.CompilerServices.MethodImpl(global::System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public readonly bool Equals(ResultSave other) => this.Tag != other.Tag ? false : this.Tag switch - { - Tags.Ok => global::System.Collections.Generic.EqualityComparer.Default.Equals(this.Ok, other.Ok), - _ => true, - }; - - [global::System.Runtime.CompilerServices.MethodImpl(global::System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public readonly override int GetHashCode() => this.Tag switch - { - Tags.Ok => global::System.HashCode.Combine(this.Tag, this.Ok), - _ => global::System.HashCode.Combine(this.Tag), - }; - - [global::System.Runtime.CompilerServices.MethodImpl(global::System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public readonly override bool Equals(object? obj) => obj is ResultSave other && Equals(other); - - [global::System.Runtime.CompilerServices.MethodImpl(global::System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public static bool operator ==(ResultSave left, ResultSave right) => Equals(left, right); - [global::System.Runtime.CompilerServices.MethodImpl(global::System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public static bool operator !=(ResultSave left, ResultSave right) => !Equals(left, right); - - [global::System.Runtime.CompilerServices.MethodImpl(global::System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public readonly int CompareTo(ResultSave other) => this.Tag != other.Tag ? global::System.Collections.Generic.Comparer.Default.Compare(this.Tag, other.Tag) : this.Tag switch - { - Tags.Ok => global::System.Collections.Generic.Comparer.Default.Compare(this.Ok, other.Ok), - _ => 0, - }; - - [global::System.Runtime.CompilerServices.MethodImpl(global::System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public static bool operator <(ResultSave left, ResultSave right) => left.CompareTo(right) < 0; - [global::System.Runtime.CompilerServices.MethodImpl(global::System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public static bool operator >(ResultSave left, ResultSave right) => left.CompareTo(right) > 0; - [global::System.Runtime.CompilerServices.MethodImpl(global::System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public static bool operator <=(ResultSave left, ResultSave right) => left.CompareTo(right) <= 0; - [global::System.Runtime.CompilerServices.MethodImpl(global::System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public static bool operator >=(ResultSave left, ResultSave right) => left.CompareTo(right) >= 0; - - [global::System.Runtime.CompilerServices.MethodImpl(global::System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] - public readonly override string ToString() => this.Tag switch - { - Tags.Ok => $"{nameof(ResultSave)}.{nameof(Tags.Ok)} {{ {this.Ok} }}", - Tags.NotFound => $"{nameof(ResultSave)}.{nameof(Tags.NotFound)}", - _ => nameof(ResultSave), - }; -} - -} // namespace UnionTypesDemo - -``` - - - - ## Usefull diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/Equatable.Generator.md b/v2/rscg_examples_site/docs/RSCG-Examples/Equatable.Generator.md index 3b9447be7..308fd116c 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/Equatable.Generator.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/Equatable.Generator.md @@ -295,6 +295,88 @@ namespace GeneratorEqualsDemo + + + +```csharp showLineNumbers + +#nullable enable +#pragma warning disable CS0612,CS0618 +#pragma warning disable CS0436 + +namespace GeneratorEqualsDemo +{ + partial class Person : global::System.IEquatable + { + /// + /// Indicates whether the object on the left is equal to the object on the right. + /// + /// The left object + /// The right object + /// true if the objects are equal; otherwise, false. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Generator.Equals", "1.0.0.0")] + public static bool operator ==( + global::GeneratorEqualsDemo.Person? left, + global::GeneratorEqualsDemo.Person? right) => + global::Generator.Equals.DefaultEqualityComparer.Default + .Equals(left, right); + + /// + /// Indicates whether the object on the left is not equal to the object on the right. + /// + /// The left object + /// The right object + /// true if the objects are not equal; otherwise, false. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Generator.Equals", "1.0.0.0")] + public static bool operator !=(global::GeneratorEqualsDemo.Person? left, global::GeneratorEqualsDemo.Person? right) => + !(left == right); + + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Generator.Equals", "1.0.0.0")] + public override bool Equals(object? obj) => + Equals(obj as global::GeneratorEqualsDemo.Person); + + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Generator.Equals", "1.0.0.0")] + bool global::System.IEquatable.Equals(global::GeneratorEqualsDemo.Person? obj) => Equals((object?) obj); + + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Generator.Equals", "1.0.0.0")] + protected bool Equals(global::GeneratorEqualsDemo.Person? other) + { + if (ReferenceEquals(null, other)) return false; + if (ReferenceEquals(this, other)) return true; + + return other.GetType() == this.GetType() + && global::Generator.Equals.DefaultEqualityComparer.Default.Equals(this.FirstName!, other.FirstName!) + && global::Generator.Equals.DefaultEqualityComparer.Default.Equals(this.LastName!, other.LastName!) + ; + } + + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Generator.Equals", "1.0.0.0")] + public override int GetHashCode() + { + var hashCode = new global::System.HashCode(); + + hashCode.Add(this.GetType()); + hashCode.Add( + this.FirstName!, + global::Generator.Equals.DefaultEqualityComparer.Default); + hashCode.Add( + this.LastName!, + global::Generator.Equals.DefaultEqualityComparer.Default); + + return hashCode.ToHashCode(); + } + } +} + +``` + + + + ## Usefull diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/Farskeptic.AutoCompose.md b/v2/rscg_examples_site/docs/RSCG-Examples/Farskeptic.AutoCompose.md index a945c95d9..34cc3998e 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/Farskeptic.AutoCompose.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/Farskeptic.AutoCompose.md @@ -298,7 +298,7 @@ namespace Decorator https://ignatandrei.github.io/RSCG_Examples/v2/docs/Farskeptic.AutoCompose -### In the same category (Interface) - 9 other generators +### In the same category (Interface) - 10 other generators #### [Biwen.AutoClassGen](/docs/Biwen.AutoClassGen) @@ -325,5 +325,8 @@ https://ignatandrei.github.io/RSCG_Examples/v2/docs/Farskeptic.AutoCompose #### [Roozie.AutoInterface](/docs/Roozie.AutoInterface) +#### [rscg_Interface_to_null_object](/docs/rscg_Interface_to_null_object) + + #### [RSCG_Static](/docs/RSCG_Static) diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/InterceptorTemplate.md b/v2/rscg_examples_site/docs/RSCG-Examples/InterceptorTemplate.md index 49f17a2be..9d1f54bf7 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/InterceptorTemplate.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/InterceptorTemplate.md @@ -426,488 +426,6 @@ public interface IPersonLoader Those are taken from $(BaseIntermediateOutputPath)\GX - - - - - - -```csharp showLineNumbers -//example generating generic for all methods in a class 8.2023.2811.446 -#pragma warning disable CS1591 -#pragma warning disable CS9113 -namespace System.Runtime.CompilerServices{ -[AttributeUsage(AttributeTargets.Method,AllowMultiple =true)] -file class InterceptsLocationAttribute(string filePath, int line, int character) : Attribute -{ -} -}//end namespace - -namespace RSCG_InterceptorTemplate{ -static partial class SimpleIntercept -{ - - -//replace code:await ipl.InsertPerson(newPerson);"; -//replace code:123456789!123456789!123456789!1234"; -[System.Runtime.CompilerServices.InterceptsLocation(@"D:\gth\RSCG_Examples\v2\rscg_examples\InterceptorTemplate\src\RSCG_InterceptorTemplateConsole\Program.cs", 25, 11)] - - -//[System.Diagnostics.DebuggerStepThrough()] -public static async System.Threading.Tasks.Task Intercept_ipl_InsertPerson(this RSCG_DemoObjects.IPersonLoader ipl ,RSCG_DemoObjects.Person p ) -{ - try{ - Console.WriteLine("start from generic template-->Intercept_ipl_InsertPerson"); - return await ipl.InsertPerson(p); - } - finally{ - Console.WriteLine("end from generic template-->Intercept_ipl_InsertPerson"); - } -} - - -}//end class - -}//namespace RSCG_InterceptorTemplate -``` - - - - - - - -```csharp showLineNumbers -//example generating generic for all methods in a class 8.2023.2811.446 -#pragma warning disable CS1591 -#pragma warning disable CS9113 -namespace System.Runtime.CompilerServices{ -[AttributeUsage(AttributeTargets.Method,AllowMultiple =true)] -file class InterceptsLocationAttribute(string filePath, int line, int character) : Attribute -{ -} -}//end namespace - -namespace RSCG_InterceptorTemplate{ -static partial class SimpleIntercept -{ - - -//replace code:PersonLoader.Connect();"; -//replace code:123456789!123456789!123"; -[System.Runtime.CompilerServices.InterceptsLocation(@"D:\gth\RSCG_Examples\v2\rscg_examples\InterceptorTemplate\src\RSCG_InterceptorTemplateConsole\Program.cs", 22, 14)] - - -//[System.Diagnostics.DebuggerStepThrough()] -public static void Intercept_PersonLoader_Connect( ) -{ - try{ - Console.WriteLine("start from generic template-->Intercept_PersonLoader_Connect"); - RSCG_DemoObjects.PersonLoader.Connect(); - } - finally{ - Console.WriteLine("end from generic template-->Intercept_PersonLoader_Connect"); - } -} - - -}//end class - -}//namespace RSCG_InterceptorTemplate -``` - - - - - - - -```csharp showLineNumbers -//example generating generic for all methods in a class 8.2023.2811.446 -#pragma warning disable CS1591 -#pragma warning disable CS9113 -namespace System.Runtime.CompilerServices{ -[AttributeUsage(AttributeTargets.Method,AllowMultiple =true)] -file class InterceptsLocationAttribute(string filePath, int line, int character) : Attribute -{ -} -}//end namespace - -namespace RSCG_InterceptorTemplate{ -static partial class SimpleIntercept -{ - - -//replace code:var q= await PersonLoader.SavePerson(newPerson);"; -//replace code:123456789!123456789!123456789!123456789!12345678"; -[System.Runtime.CompilerServices.InterceptsLocation(@"D:\gth\RSCG_Examples\v2\rscg_examples\InterceptorTemplate\src\RSCG_InterceptorTemplateConsole\Program.cs", 21, 27)] - - -//[System.Diagnostics.DebuggerStepThrough()] -public static async System.Threading.Tasks.Task Intercept_PersonLoader_SavePerson( RSCG_DemoObjects.Person p ) -{ - try{ - Console.WriteLine("start from generic template-->Intercept_PersonLoader_SavePerson"); - return await RSCG_DemoObjects.PersonLoader.SavePerson(p); - } - finally{ - Console.WriteLine("end from generic template-->Intercept_PersonLoader_SavePerson"); - } -} - - -}//end class - -}//namespace RSCG_InterceptorTemplate -``` - - - - - - - -```csharp showLineNumbers -//example generating for full name 8.2023.2811.446 -#pragma warning disable CS1591 -#pragma warning disable CS9113 -namespace System.Runtime.CompilerServices{ -[AttributeUsage(AttributeTargets.Method,AllowMultiple =true)] -file class InterceptsLocationAttribute(string filePath, int line, int character) : Attribute -{ -} -}//end namespace - -namespace RSCG_InterceptorTemplate{ -static partial class SimpleIntercept -{ - - -//replace code:Console.WriteLine("debug for "+p.FullName());"; -//replace code:123456789!123456789!123456789!123456789!12345"; -[System.Runtime.CompilerServices.InterceptsLocation(@"D:\gth\RSCG_Examples\v2\rscg_examples\InterceptorTemplate\src\RSCG_InterceptorTemplateConsole\Program.cs", 5, 34)] - -//replace code:Console.WriteLine("this is "+p.FullName());"; -//replace code:123456789!123456789!123456789!123456789!123"; -[System.Runtime.CompilerServices.InterceptsLocation(@"D:\gth\RSCG_Examples\v2\rscg_examples\InterceptorTemplate\src\RSCG_InterceptorTemplateConsole\Program.cs", 6, 32)] - - -//[System.Diagnostics.DebuggerStepThrough()] -public static string Intercept_p_FullName(this RSCG_DemoObjects.Person p ) -{ - var cc=Console.BackgroundColor ; - try{ - Console.BackgroundColor = ConsoleColor.DarkGreen; - Console.WriteLine("start specific FullName template-->Intercept_p_FullName"); - return p.FullName(); - } - finally{ - Console.WriteLine("end specific template-->Intercept_p_FullName"); - Console.BackgroundColor = cc; - } -} - - -}//end class - -}//namespace RSCG_InterceptorTemplate -``` - - - - - - - -```csharp showLineNumbers -//example generating for full name 8.2023.2811.446 -#pragma warning disable CS1591 -#pragma warning disable CS9113 -namespace System.Runtime.CompilerServices{ -[AttributeUsage(AttributeTargets.Method,AllowMultiple =true)] -file class InterceptsLocationAttribute(string filePath, int line, int character) : Attribute -{ -} -}//end namespace - -namespace RSCG_InterceptorTemplate{ -static partial class SimpleIntercept -{ - - -//replace code:var namePerson = newPerson.FullName();"; -//replace code:123456789!123456789!123456789!12345678"; -[System.Runtime.CompilerServices.InterceptsLocation(@"D:\gth\RSCG_Examples\v2\rscg_examples\InterceptorTemplate\src\RSCG_InterceptorTemplateConsole\Program.cs", 12, 28)] - - -//[System.Diagnostics.DebuggerStepThrough()] -public static string Intercept_newPerson_FullName(this RSCG_DemoObjects.Person newPerson ) -{ - var cc=Console.BackgroundColor ; - try{ - Console.BackgroundColor = ConsoleColor.DarkGreen; - Console.WriteLine("start specific FullName template-->Intercept_newPerson_FullName"); - return newPerson.FullName(); - } - finally{ - Console.WriteLine("end specific template-->Intercept_newPerson_FullName"); - Console.BackgroundColor = cc; - } -} - - -}//end class - -}//namespace RSCG_InterceptorTemplate -``` - - - - - - - -```csharp showLineNumbers -//example generating generic for all methods in a class 8.2023.2811.446 -#pragma warning disable CS1591 -#pragma warning disable CS9113 -namespace System.Runtime.CompilerServices{ -[AttributeUsage(AttributeTargets.Method,AllowMultiple =true)] -file class InterceptsLocationAttribute(string filePath, int line, int character) : Attribute -{ -} -}//end namespace - -namespace RSCG_InterceptorTemplate{ -static partial class SimpleIntercept -{ - - -//replace code:Console.WriteLine("loaded "+Person.PersonsLoaded());"; -//replace code:123456789!123456789!123456789!123456789!123456789!12"; -[System.Runtime.CompilerServices.InterceptsLocation(@"D:\gth\RSCG_Examples\v2\rscg_examples\InterceptorTemplate\src\RSCG_InterceptorTemplateConsole\Program.cs", 15, 36)] - - -//[System.Diagnostics.DebuggerStepThrough()] -public static int Intercept_Person_PersonsLoaded( ) -{ - try{ - Console.WriteLine("start from generic template-->Intercept_Person_PersonsLoaded"); - return RSCG_DemoObjects.Person.PersonsLoaded(); - } - finally{ - Console.WriteLine("end from generic template-->Intercept_Person_PersonsLoaded"); - } -} - - -}//end class - -}//namespace RSCG_InterceptorTemplate -``` - - - - - - - -```csharp showLineNumbers -//example generating generic for all methods in a class 8.2023.2811.446 -#pragma warning disable CS1591 -#pragma warning disable CS9113 -namespace System.Runtime.CompilerServices{ -[AttributeUsage(AttributeTargets.Method,AllowMultiple =true)] -file class InterceptsLocationAttribute(string filePath, int line, int character) : Attribute -{ -} -}//end namespace - -namespace RSCG_InterceptorTemplate{ -static partial class SimpleIntercept -{ - - -//replace code:Console.WriteLine("loaded " + RSCG_DemoObjects.Person.PersonsLoaded());"; -//replace code:123456789!123456789!123456789!123456789!123456789!123456789!123456789!1"; -[System.Runtime.CompilerServices.InterceptsLocation(@"D:\gth\RSCG_Examples\v2\rscg_examples\InterceptorTemplate\src\RSCG_InterceptorTemplateConsole\Program.cs", 16, 55)] - -//replace code:Console.WriteLine("and again " + RSCG_DemoObjects.Person.PersonsLoaded());"; -//replace code:123456789!123456789!123456789!123456789!123456789!123456789!123456789!12345"; -[System.Runtime.CompilerServices.InterceptsLocation(@"D:\gth\RSCG_Examples\v2\rscg_examples\InterceptorTemplate\src\RSCG_InterceptorTemplateConsole\Program.cs", 17, 59)] - - -//[System.Diagnostics.DebuggerStepThrough()] -public static int Intercept_RSCG_DemoObjects_Person_PersonsLoaded( ) -{ - try{ - Console.WriteLine("start from generic template-->Intercept_RSCG_DemoObjects_Person_PersonsLoaded"); - return RSCG_DemoObjects.Person.PersonsLoaded(); - } - finally{ - Console.WriteLine("end from generic template-->Intercept_RSCG_DemoObjects_Person_PersonsLoaded"); - } -} - - -}//end class - -}//namespace RSCG_InterceptorTemplate -``` - - - - - - - -```csharp showLineNumbers -//example generating generic for all methods in a class 8.2023.2811.446 -#pragma warning disable CS1591 -#pragma warning disable CS9113 -namespace System.Runtime.CompilerServices{ -[AttributeUsage(AttributeTargets.Method,AllowMultiple =true)] -file class InterceptsLocationAttribute(string filePath, int line, int character) : Attribute -{ -} -}//end namespace - -namespace RSCG_InterceptorTemplate{ -static partial class SimpleIntercept -{ - - -//replace code:Console.WriteLine("and a random person " + Person.ShowRandomPersonNumber(1));"; -//replace code:123456789!123456789!123456789!123456789!123456789!123456789!123456789!1234567"; -[System.Runtime.CompilerServices.InterceptsLocation(@"D:\gth\RSCG_Examples\v2\rscg_examples\InterceptorTemplate\src\RSCG_InterceptorTemplateConsole\Program.cs", 20, 51)] - - -//[System.Diagnostics.DebuggerStepThrough()] -public static int Intercept_Person_ShowRandomPersonNumber( int min ) -{ - try{ - Console.WriteLine("start from generic template-->Intercept_Person_ShowRandomPersonNumber"); - return RSCG_DemoObjects.Person.ShowRandomPersonNumber(min); - } - finally{ - Console.WriteLine("end from generic template-->Intercept_Person_ShowRandomPersonNumber"); - } -} - - -}//end class - -}//namespace RSCG_InterceptorTemplate -``` - - - - - - - -```csharp showLineNumbers -//example generating for TestFullNameWithArguments 8.2023.2811.446 -#pragma warning disable CS1591 -#pragma warning disable CS9113 -namespace System.Runtime.CompilerServices{ -[AttributeUsage(AttributeTargets.Method,AllowMultiple =true)] -file class InterceptsLocationAttribute(string filePath, int line, int character) : Attribute -{ -} -}//end namespace - -namespace RSCG_InterceptorTemplate{ -static partial class SimpleIntercept -{ - - -//replace code:Console.WriteLine("and now with argument " + newPerson.TestFullNameWithArguments("<","!+",">",2));"; -//replace code:123456789!123456789!123456789!123456789!123456789!123456789!123456789!123456789!123456789!12345678"; -[System.Runtime.CompilerServices.InterceptsLocation(@"D:\gth\RSCG_Examples\v2\rscg_examples\InterceptorTemplate\src\RSCG_InterceptorTemplateConsole\Program.cs", 19, 56)] - - -//[System.Diagnostics.DebuggerStepThrough()] -public static string Intercept_newPerson_TestFullNameWithArguments(this RSCG_DemoObjects.Person newPerson ,string start,string separator,string end,int repeat ) -{ - var cc=Console.BackgroundColor ; - try{ - Console.BackgroundColor = ConsoleColor.DarkRed; - Console.WriteLine("start specific TestFullNameWithArguments template-->Intercept_newPerson_TestFullNameWithArguments"); - Console.WriteLine("number of arguments = 4"); - - Console.WriteLine("argument 1 type string and value = "+ start); - - Console.WriteLine("argument 2 type string and value = "+ separator); - - Console.WriteLine("argument 3 type string and value = "+ end); - - Console.WriteLine("argument 4 type int and value = "+ repeat); - - return newPerson.TestFullNameWithArguments(start,separator,end,repeat); - } - finally{ - Console.WriteLine("end specific template-->Intercept_newPerson_TestFullNameWithArguments"); - Console.BackgroundColor = cc; - } -} - - -}//end class - -}//namespace RSCG_InterceptorTemplate -``` - - - - - - - -```csharp showLineNumbers -//example generating generic for all methods in a class 8.2023.2811.446 -#pragma warning disable CS1591 -#pragma warning disable CS9113 -namespace System.Runtime.CompilerServices{ -[AttributeUsage(AttributeTargets.Method,AllowMultiple =true)] -file class InterceptsLocationAttribute(string filePath, int line, int character) : Attribute -{ -} -}//end namespace - -namespace RSCG_InterceptorTemplate{ -static partial class SimpleIntercept -{ - - -//replace code:var x = p.Test();"; -//replace code:123456789!1234567"; -[System.Runtime.CompilerServices.InterceptsLocation(@"D:\gth\RSCG_Examples\v2\rscg_examples\InterceptorTemplate\src\RSCG_InterceptorTemplateConsole\Program.cs", 7, 11)] - - -//[System.Diagnostics.DebuggerStepThrough()] -public static string Intercept_p_Test(this RSCG_DemoObjects.Person p ) -{ - try{ - Console.WriteLine("start from generic template-->Intercept_p_Test"); - return p.Test(); - } - finally{ - Console.WriteLine("end from generic template-->Intercept_p_Test"); - } -} - - -}//end class - -}//namespace RSCG_InterceptorTemplate -``` - - - - - - ## Usefull ### Download Example (.NET C# ) diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/Larcanum.GitInfo.md b/v2/rscg_examples_site/docs/RSCG-Examples/Larcanum.GitInfo.md index 84fc9346d..b16ae7af6 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/Larcanum.GitInfo.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/Larcanum.GitInfo.md @@ -371,7 +371,7 @@ Those are taken from $(BaseIntermediateOutputPath)\GX // // Generator Context -// ProjectDir: D:\gth\RSCG_Examples\v2\rscg_examples\Larcanum.GitInfo\src\DemoGit\DemoGit\ +// ProjectDir: D:\gth\RSCG_Examples\v2\rscg_examples\Larcanum.GitInfo\src\DemoGit\ // GitInfoNamespace: DemoGit // GitInfoGlobalNamespace: False // GitInfoGitBin: git @@ -381,12 +381,12 @@ Those are taken from $(BaseIntermediateOutputPath)\GX // GitPath: C:\Program Files\Git\cmd\git.exe // GitVersion: git version 2.42.0.windows.2 // GitRoot: D:/gth/RSCG_Examples -// GitFingerprint: vPureDI3-7-g5308331d7 -// Timestamp: 2025-01-18T15:18:22.4819389+02:00 +// GitFingerprint: vGitInfo-2-gd61cf7f7d +// Timestamp: 2025-01-21T15:36:52.3416593+02:00 [assembly: System.Reflection.AssemblyVersion("1.0.0.0")] [assembly: System.Reflection.AssemblyFileVersion("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersion("vPureDI3-7-g5308331d7")] +[assembly: System.Reflection.AssemblyInformationalVersion("vGitInfo-2-gd61cf7f7d")] namespace DemoGit; @@ -396,15 +396,15 @@ internal partial class GitInfo { public const bool IsDirty = false; - public const string Branch = @"Larcanum.GitInfo"; + public const string Branch = @"NullObject"; - public const string CommitShortHash = @"5308331d7"; + public const string CommitShortHash = @"d61cf7f7d"; - public const string CommitHash = @"5308331d78c3674c7354749ac82d7b1199277997"; + public const string CommitHash = @"d61cf7f7db960bf71c80768648af60d5de075e71"; - public const string CommitDate = @"2024-12-24T19:19:30+02:00"; + public const string CommitDate = @"2025-01-21T15:35:37+02:00"; - public const string Tag = @"vPureDI3-7-g5308331d7"; + public const string Tag = @"vGitInfo-2-gd61cf7f7d"; public const string DotNetVersion = @"1.0.0.0"; } diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/LightweightObjectMapper.md b/v2/rscg_examples_site/docs/RSCG-Examples/LightweightObjectMapper.md index 85f4b0cbd..e5f0f8719 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/LightweightObjectMapper.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/LightweightObjectMapper.md @@ -726,9 +726,9 @@ namespace LightweightObjectMapper { var target = new global::mapperDemo.PersonDTO() { - LastName = source.LastName, ID = source.ID, FirstName = source.FirstName, + LastName = source.LastName, }; target = global::mapperDemo.Extensions.Generated.PostMapping_D275C37F33F4AFBD(source, target); return (TOut)(target as object); diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/MakeInterface.Generator.md b/v2/rscg_examples_site/docs/RSCG-Examples/MakeInterface.Generator.md index 32d1b2824..3d6682d90 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/MakeInterface.Generator.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/MakeInterface.Generator.md @@ -237,7 +237,7 @@ public partial interface IPerson https://ignatandrei.github.io/RSCG_Examples/v2/docs/MakeInterface.Generator -### In the same category (Interface) - 9 other generators +### In the same category (Interface) - 10 other generators #### [Biwen.AutoClassGen](/docs/Biwen.AutoClassGen) @@ -264,5 +264,8 @@ https://ignatandrei.github.io/RSCG_Examples/v2/docs/MakeInterface.Generator #### [Roozie.AutoInterface](/docs/Roozie.AutoInterface) +#### [rscg_Interface_to_null_object](/docs/rscg_Interface_to_null_object) + + #### [RSCG_Static](/docs/RSCG_Static) diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/Matryoshki.md b/v2/rscg_examples_site/docs/RSCG-Examples/Matryoshki.md index 1650a37d6..8cda08c49 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/Matryoshki.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/Matryoshki.md @@ -546,7 +546,7 @@ public class PersonMatryoshka : MatryoshkiDemo.IPerson https://ignatandrei.github.io/RSCG_Examples/v2/docs/Matryoshki -### In the same category (Interface) - 9 other generators +### In the same category (Interface) - 10 other generators #### [Biwen.AutoClassGen](/docs/Biwen.AutoClassGen) @@ -573,5 +573,8 @@ https://ignatandrei.github.io/RSCG_Examples/v2/docs/Matryoshki #### [Roozie.AutoInterface](/docs/Roozie.AutoInterface) +#### [rscg_Interface_to_null_object](/docs/rscg_Interface_to_null_object) + + #### [RSCG_Static](/docs/RSCG_Static) diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/Meziantou.Polyfill.md b/v2/rscg_examples_site/docs/RSCG-Examples/Meziantou.Polyfill.md index e0b185e9b..a3f2d0685 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/Meziantou.Polyfill.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/Meziantou.Polyfill.md @@ -181,23 +181,23 @@ Those are taken from $(BaseIntermediateOutputPath)\GX ```csharp showLineNumbers // IncludedMembers: // ExcludedMembers: -// System.Collections.Immutable.ImmutableArray`1: False -// System.Memory`1: False +// System.Collections.Immutable.ImmutableArray`1: True +// System.Memory`1: True // System.Net.Http.HttpContent: True -// System.ReadOnlyMemory`1: False -// System.ReadOnlySpan`1: False -// System.Span`1: False -// System.Threading.Tasks.ValueTask: False -// System.Threading.Tasks.ValueTask`1: False +// System.ReadOnlyMemory`1: True +// System.ReadOnlySpan`1: True +// System.Span`1: True +// System.Threading.Tasks.ValueTask: True +// System.Threading.Tasks.ValueTask`1: True // -// M:System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd``1(`0,System.Func{`0,``0,`1},``0): True -// M:System.Collections.Generic.CollectionExtensions.GetValueOrDefault``2(System.Collections.Generic.IReadOnlyDictionary{``0,``1},``0): True -// M:System.Collections.Generic.CollectionExtensions.GetValueOrDefault``2(System.Collections.Generic.IReadOnlyDictionary{``0,``1},``0,``1): True -// M:System.Collections.Generic.KeyValuePair`2.Deconstruct(`0@,`1@): True -// M:System.Collections.Generic.Queue`1.TryDequeue(`0@): True +// M:System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd``1(`0,System.Func{`0,``0,`1},``0): False +// M:System.Collections.Generic.CollectionExtensions.GetValueOrDefault``2(System.Collections.Generic.IReadOnlyDictionary{``0,``1},``0): False +// M:System.Collections.Generic.CollectionExtensions.GetValueOrDefault``2(System.Collections.Generic.IReadOnlyDictionary{``0,``1},``0,``1): False +// M:System.Collections.Generic.KeyValuePair`2.Deconstruct(`0@,`1@): False +// M:System.Collections.Generic.Queue`1.TryDequeue(`0@): False // M:System.Collections.Immutable.ImmutableArray`1.AsSpan(System.Int32,System.Int32): False // M:System.Collections.Immutable.ImmutableArray`1.AsSpan(System.Range): False -// M:System.Diagnostics.Process.WaitForExitAsync(System.Threading.CancellationToken): True +// M:System.Diagnostics.Process.WaitForExitAsync(System.Threading.CancellationToken): False // M:System.IO.Stream.Read(System.Span{System.Byte}): False // M:System.IO.Stream.ReadAsync(System.Memory{System.Byte},System.Threading.CancellationToken): False // M:System.IO.Stream.ReadAtLeast(System.Span{System.Byte},System.Int32,System.Boolean): False @@ -207,105 +207,105 @@ Those are taken from $(BaseIntermediateOutputPath)\GX // M:System.IO.StreamReader.ReadLineAsync(): False // M:System.IO.StreamReader.ReadLineAsync(System.Threading.CancellationToken): False // M:System.IO.TextReader.ReadAsync(System.Memory{System.Char},System.Threading.CancellationToken): False -// M:System.IO.TextReader.ReadToEndAsync(System.Threading.CancellationToken): True +// M:System.IO.TextReader.ReadToEndAsync(System.Threading.CancellationToken): False // M:System.IO.TextWriter.WriteAsync(System.ReadOnlyMemory{System.Char},System.Threading.CancellationToken): False -// M:System.Linq.Enumerable.DistinctBy``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1}): True -// M:System.Linq.Enumerable.DistinctBy``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1}): True -// M:System.Linq.Enumerable.MaxBy``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1}): True -// M:System.Linq.Enumerable.MaxBy``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IComparer{``1}): True -// M:System.Linq.Enumerable.MinBy``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1}): True -// M:System.Linq.Enumerable.MinBy``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IComparer{``1}): True -// M:System.Linq.Enumerable.OrderDescending``1(System.Collections.Generic.IEnumerable{``0}): True -// M:System.Linq.Enumerable.OrderDescending``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IComparer{``0}): True -// M:System.Linq.Enumerable.Order``1(System.Collections.Generic.IEnumerable{``0}): True -// M:System.Linq.Enumerable.Order``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IComparer{``0}): True -// M:System.Linq.Enumerable.ToHashSet``1(System.Collections.Generic.IEnumerable{``0}): True -// M:System.Linq.Enumerable.ToHashSet``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``0}): True -// M:System.Linq.Enumerable.Zip``2(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1}): True +// M:System.Linq.Enumerable.DistinctBy``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1}): False +// M:System.Linq.Enumerable.DistinctBy``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1}): False +// M:System.Linq.Enumerable.MaxBy``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1}): False +// M:System.Linq.Enumerable.MaxBy``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IComparer{``1}): False +// M:System.Linq.Enumerable.MinBy``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1}): False +// M:System.Linq.Enumerable.MinBy``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IComparer{``1}): False +// M:System.Linq.Enumerable.OrderDescending``1(System.Collections.Generic.IEnumerable{``0}): False +// M:System.Linq.Enumerable.OrderDescending``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IComparer{``0}): False +// M:System.Linq.Enumerable.Order``1(System.Collections.Generic.IEnumerable{``0}): False +// M:System.Linq.Enumerable.Order``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IComparer{``0}): False +// M:System.Linq.Enumerable.ToHashSet``1(System.Collections.Generic.IEnumerable{``0}): False +// M:System.Linq.Enumerable.ToHashSet``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``0}): False +// M:System.Linq.Enumerable.Zip``2(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1}): False // M:System.MemoryExtensions.AsSpan(System.String,System.Int32,System.Int32): False // M:System.MemoryExtensions.Contains``1(System.ReadOnlySpan{``0},``0): False // M:System.MemoryExtensions.Contains``1(System.Span{``0},``0): False -// M:System.Net.Http.HttpContent.CopyTo(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken): True +// M:System.Net.Http.HttpContent.CopyTo(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken): False // M:System.Net.Http.HttpContent.CopyToAsync(System.IO.Stream): False // M:System.Net.Http.HttpContent.CopyToAsync(System.IO.Stream,System.Net.TransportContext): False -// M:System.Net.Http.HttpContent.CopyToAsync(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken): True -// M:System.Net.Http.HttpContent.CopyToAsync(System.IO.Stream,System.Threading.CancellationToken): True -// M:System.Net.Http.HttpContent.ReadAsStream(System.Threading.CancellationToken): True -// M:System.Net.Http.HttpContent.ReadAsStream: True -// M:System.String.Contains(System.Char): True -// M:System.String.Contains(System.Char,System.StringComparison): True -// M:System.String.Contains(System.String,System.StringComparison): True +// M:System.Net.Http.HttpContent.CopyToAsync(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken): False +// M:System.Net.Http.HttpContent.CopyToAsync(System.IO.Stream,System.Threading.CancellationToken): False +// M:System.Net.Http.HttpContent.ReadAsStream(System.Threading.CancellationToken): False +// M:System.Net.Http.HttpContent.ReadAsStream: False +// M:System.String.Contains(System.Char): False +// M:System.String.Contains(System.Char,System.StringComparison): False +// M:System.String.Contains(System.String,System.StringComparison): False // M:System.String.CopyTo(System.Span{System.Char}): False -// M:System.String.EndsWith(System.Char): True -// M:System.String.GetHashCode(System.StringComparison): True -// M:System.String.IndexOf(System.Char,System.StringComparison): True -// M:System.String.Replace(System.String,System.String,System.StringComparison): True -// M:System.String.ReplaceLineEndings(System.String): True -// M:System.String.ReplaceLineEndings: True -// M:System.String.Split(System.Char,System.Int32,System.StringSplitOptions): True -// M:System.String.Split(System.Char,System.StringSplitOptions): True -// M:System.String.StartsWith(System.Char): True +// M:System.String.EndsWith(System.Char): False +// M:System.String.GetHashCode(System.StringComparison): False +// M:System.String.IndexOf(System.Char,System.StringComparison): False +// M:System.String.Replace(System.String,System.String,System.StringComparison): False +// M:System.String.ReplaceLineEndings(System.String): False +// M:System.String.ReplaceLineEndings: False +// M:System.String.Split(System.Char,System.Int32,System.StringSplitOptions): False +// M:System.String.Split(System.Char,System.StringSplitOptions): False +// M:System.String.StartsWith(System.Char): False // M:System.String.TryCopyTo(System.Span{System.Char}): False // M:System.Text.Encoding.GetString(System.ReadOnlySpan{System.Byte}): False // M:System.Text.StringBuilder.Append(System.ReadOnlyMemory{System.Char}): False // M:System.Text.StringBuilder.Append(System.ReadOnlySpan{System.Char}): False -// M:System.Text.StringBuilder.AppendJoin(System.Char,System.Object[]): True -// M:System.Text.StringBuilder.AppendJoin(System.Char,System.String[]): True -// M:System.Text.StringBuilder.AppendJoin(System.String,System.Object[]): True -// M:System.Text.StringBuilder.AppendJoin(System.String,System.String[]): True -// M:System.Text.StringBuilder.AppendJoin``1(System.Char,System.Collections.Generic.IEnumerable{``0}): True -// M:System.Text.StringBuilder.AppendJoin``1(System.String,System.Collections.Generic.IEnumerable{``0}): True +// M:System.Text.StringBuilder.AppendJoin(System.Char,System.Object[]): False +// M:System.Text.StringBuilder.AppendJoin(System.Char,System.String[]): False +// M:System.Text.StringBuilder.AppendJoin(System.String,System.Object[]): False +// M:System.Text.StringBuilder.AppendJoin(System.String,System.String[]): False +// M:System.Text.StringBuilder.AppendJoin``1(System.Char,System.Collections.Generic.IEnumerable{``0}): False +// M:System.Text.StringBuilder.AppendJoin``1(System.String,System.Collections.Generic.IEnumerable{``0}): False // M:System.Threading.CancellationTokenSource.CancelAsync: True -// M:System.Threading.Tasks.Task.WaitAsync(System.Threading.CancellationToken): True -// T:System.Collections.Generic.PriorityQueue`2: True -// T:System.Collections.Generic.ReferenceEqualityComparer: True -// T:System.Diagnostics.CodeAnalysis.AllowNullAttribute: True -// T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute: True -// T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute: True -// T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute: True -// T:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute: True -// T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes: True -// T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute: True -// T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute: True -// T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute: True -// T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute: True -// T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute: True -// T:System.Diagnostics.CodeAnalysis.NotNullAttribute: True -// T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute: True -// T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute: True -// T:System.Diagnostics.CodeAnalysis.RequiresAssemblyFilesAttribute: True -// T:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute: True -// T:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute: True -// T:System.Diagnostics.CodeAnalysis.SetsRequiredMembersAttribute: True -// T:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute: True -// T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute: True -// T:System.Diagnostics.CodeAnalysis.UnscopedRefAttribute: True -// T:System.Diagnostics.StackTraceHiddenAttribute: True -// T:System.HashCode: True -// T:System.Index: True +// M:System.Threading.Tasks.Task.WaitAsync(System.Threading.CancellationToken): False +// T:System.Collections.Generic.PriorityQueue`2: False +// T:System.Collections.Generic.ReferenceEqualityComparer: False +// T:System.Diagnostics.CodeAnalysis.AllowNullAttribute: False +// T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute: False +// T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute: False +// T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute: False +// T:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute: False +// T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes: False +// T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute: False +// T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute: False +// T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute: False +// T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute: False +// T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute: False +// T:System.Diagnostics.CodeAnalysis.NotNullAttribute: False +// T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute: False +// T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute: False +// T:System.Diagnostics.CodeAnalysis.RequiresAssemblyFilesAttribute: False +// T:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute: False +// T:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute: False +// T:System.Diagnostics.CodeAnalysis.SetsRequiredMembersAttribute: False +// T:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute: False +// T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute: False +// T:System.Diagnostics.CodeAnalysis.UnscopedRefAttribute: False +// T:System.Diagnostics.StackTraceHiddenAttribute: False +// T:System.HashCode: False +// T:System.Index: False // T:System.Net.Http.ReadOnlyMemoryContent: False -// T:System.Range: True -// T:System.Runtime.CompilerServices.AsyncMethodBuilderAttribute: True -// T:System.Runtime.CompilerServices.CallerArgumentExpressionAttribute: True +// T:System.Range: False +// T:System.Runtime.CompilerServices.AsyncMethodBuilderAttribute: False +// T:System.Runtime.CompilerServices.CallerArgumentExpressionAttribute: False // T:System.Runtime.CompilerServices.CollectionBuilderAttribute: True -// T:System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute: True -// T:System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute: True -// T:System.Runtime.CompilerServices.InterpolatedStringHandlerArgumentAttribute: True -// T:System.Runtime.CompilerServices.InterpolatedStringHandlerAttribute: True -// T:System.Runtime.CompilerServices.IsExternalInit: True -// T:System.Runtime.CompilerServices.ModuleInitializerAttribute: True -// T:System.Runtime.CompilerServices.RequiredMemberAttribute: True -// T:System.Runtime.CompilerServices.SkipLocalsInitAttribute: True +// T:System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute: False +// T:System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute: False +// T:System.Runtime.CompilerServices.InterpolatedStringHandlerArgumentAttribute: False +// T:System.Runtime.CompilerServices.InterpolatedStringHandlerAttribute: False +// T:System.Runtime.CompilerServices.IsExternalInit: False +// T:System.Runtime.CompilerServices.ModuleInitializerAttribute: False +// T:System.Runtime.CompilerServices.RequiredMemberAttribute: False +// T:System.Runtime.CompilerServices.SkipLocalsInitAttribute: False // T:System.Runtime.CompilerServices.TupleElementNamesAttribute: False -// T:System.Runtime.InteropServices.SuppressGCTransitionAttribute: True -// T:System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute: True -// T:System.Runtime.Versioning.ObsoletedOSPlatformAttribute: True -// T:System.Runtime.Versioning.RequiresPreviewFeaturesAttribute: True -// T:System.Runtime.Versioning.SupportedOSPlatformAttribute: True -// T:System.Runtime.Versioning.SupportedOSPlatformGuardAttribute: True -// T:System.Runtime.Versioning.TargetPlatformAttribute: True -// T:System.Runtime.Versioning.UnsupportedOSPlatformAttribute: True -// T:System.Runtime.Versioning.UnsupportedOSPlatformGuardAttribute: True +// T:System.Runtime.InteropServices.SuppressGCTransitionAttribute: False +// T:System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute: False +// T:System.Runtime.Versioning.ObsoletedOSPlatformAttribute: False +// T:System.Runtime.Versioning.RequiresPreviewFeaturesAttribute: False +// T:System.Runtime.Versioning.SupportedOSPlatformAttribute: False +// T:System.Runtime.Versioning.SupportedOSPlatformGuardAttribute: False +// T:System.Runtime.Versioning.TargetPlatformAttribute: False +// T:System.Runtime.Versioning.UnsupportedOSPlatformAttribute: False +// T:System.Runtime.Versioning.UnsupportedOSPlatformGuardAttribute: False // T:System.Threading.Tasks.TaskToAsyncResult: True // T:System.ValueTuple: False // T:System.ValueTuple`1: False diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/Microsoft.Extensions.Configuration.Binder.md b/v2/rscg_examples_site/docs/RSCG-Examples/Microsoft.Extensions.Configuration.Binder.md index c188c5930..058547599 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/Microsoft.Extensions.Configuration.Binder.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/Microsoft.Extensions.Configuration.Binder.md @@ -191,7 +191,7 @@ namespace System.Runtime.CompilerServices using System; using System.CodeDom.Compiler; - [GeneratedCode("Microsoft.Extensions.Configuration.Binder.SourceGeneration", "8.0.10.6711")] + [GeneratedCode("Microsoft.Extensions.Configuration.Binder.SourceGeneration", "8.0.10.36612")] [AttributeUsage(AttributeTargets.Method, AllowMultiple = true)] file sealed class InterceptsLocationAttribute : Attribute { @@ -212,7 +212,7 @@ namespace Microsoft.Extensions.Configuration.Binder.SourceGeneration using System.Globalization; using System.Runtime.CompilerServices; - [GeneratedCode("Microsoft.Extensions.Configuration.Binder.SourceGeneration", "8.0.10.6711")] + [GeneratedCode("Microsoft.Extensions.Configuration.Binder.SourceGeneration", "8.0.10.36612")] file static class BindingExtensions { #region OptionsBuilder extensions. diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/Microsoft.Interop.JavaScript.JSImportGenerator.md b/v2/rscg_examples_site/docs/RSCG-Examples/Microsoft.Interop.JavaScript.JSImportGenerator.md index 6f1498cf9..b78796e4b 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/Microsoft.Interop.JavaScript.JSImportGenerator.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/Microsoft.Interop.JavaScript.JSImportGenerator.md @@ -751,7 +751,7 @@ namespace TestBlazor.Pages { public partial class CallJavaScript1 { - internal static unsafe void __Wrapper_GetMessageFromDotnet_240282289(global::System.Runtime.InteropServices.JavaScript.JSMarshalerArgument* __arguments_buffer) + internal static unsafe void __Wrapper_GetMessageFromDotnet_1002993937(global::System.Runtime.InteropServices.JavaScript.JSMarshalerArgument* __arguments_buffer) { string s; ref global::System.Runtime.InteropServices.JavaScript.JSMarshalerArgument __arg_exception = ref __arguments_buffer[0]; @@ -773,12 +773,12 @@ namespace TestBlazor.Pages } [global::System.Runtime.CompilerServices.ModuleInitializerAttribute] - [global::System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute("__Wrapper_GetMessageFromDotnet_240282289", typeof(TestBlazor.Pages.CallJavaScript1))] - internal static void __Register_GetMessageFromDotnet_240282289() + [global::System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute("__Wrapper_GetMessageFromDotnet_1002993937", typeof(TestBlazor.Pages.CallJavaScript1))] + internal static void __Register_GetMessageFromDotnet_1002993937() { if (global::System.Runtime.InteropServices.RuntimeInformation.OSArchitecture != global::System.Runtime.InteropServices.Architecture.Wasm) return; - global::System.Runtime.InteropServices.JavaScript.JSFunctionBinding.BindManagedFunction("[TestBlazor]TestBlazor.Pages.CallJavaScript1:GetMessageFromDotnet", 240282289, new global::System.Runtime.InteropServices.JavaScript.JSMarshalerType[] { global::System.Runtime.InteropServices.JavaScript.JSMarshalerType.String, global::System.Runtime.InteropServices.JavaScript.JSMarshalerType.String }); + global::System.Runtime.InteropServices.JavaScript.JSFunctionBinding.BindManagedFunction("[TestBlazor]TestBlazor.Pages.CallJavaScript1:GetMessageFromDotnet", 1002993937, new global::System.Runtime.InteropServices.JavaScript.JSMarshalerType[] { global::System.Runtime.InteropServices.JavaScript.JSMarshalerType.String, global::System.Runtime.InteropServices.JavaScript.JSMarshalerType.String }); } } } @@ -797,12 +797,12 @@ namespace TestBlazor.Pages { public partial class CallJavaScript1 { - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.JavaScript.JSImportGenerator", "7.0.10.6629")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.JavaScript.JSImportGenerator", "7.0.10.26716")] internal static partial string GetWelcomeMessage(string s) { - if (__signature_GetWelcomeMessage_240282289 == null) + if (__signature_GetWelcomeMessage_1002993937 == null) { - __signature_GetWelcomeMessage_240282289 = global::System.Runtime.InteropServices.JavaScript.JSFunctionBinding.BindJSFunction("getMessage", "CallJavaScript1", new global::System.Runtime.InteropServices.JavaScript.JSMarshalerType[] { global::System.Runtime.InteropServices.JavaScript.JSMarshalerType.String, global::System.Runtime.InteropServices.JavaScript.JSMarshalerType.String }); + __signature_GetWelcomeMessage_1002993937 = global::System.Runtime.InteropServices.JavaScript.JSFunctionBinding.BindJSFunction("getMessage", "CallJavaScript1", new global::System.Runtime.InteropServices.JavaScript.JSMarshalerType[] { global::System.Runtime.InteropServices.JavaScript.JSMarshalerType.String, global::System.Runtime.InteropServices.JavaScript.JSMarshalerType.String }); } global::System.Span __arguments_buffer = stackalloc global::System.Runtime.InteropServices.JavaScript.JSMarshalerArgument[3]; @@ -814,14 +814,14 @@ namespace TestBlazor.Pages // Setup - Perform required setup. ref global::System.Runtime.InteropServices.JavaScript.JSMarshalerArgument __s_native__js_arg = ref __arguments_buffer[2]; __s_native__js_arg.ToJS(s); - global::System.Runtime.InteropServices.JavaScript.JSFunctionBinding.InvokeJS(__signature_GetWelcomeMessage_240282289, __arguments_buffer); + global::System.Runtime.InteropServices.JavaScript.JSFunctionBinding.InvokeJS(__signature_GetWelcomeMessage_1002993937, __arguments_buffer); // Unmarshal - Convert native data to managed data. __arg_return.ToManaged(out __retVal); return __retVal; } [global::System.ThreadStaticAttribute] - static global::System.Runtime.InteropServices.JavaScript.JSFunctionBinding __signature_GetWelcomeMessage_240282289; + static global::System.Runtime.InteropServices.JavaScript.JSFunctionBinding __signature_GetWelcomeMessage_1002993937; } } diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/Minerals.AutoInterfaces.md b/v2/rscg_examples_site/docs/RSCG-Examples/Minerals.AutoInterfaces.md index 994acceb0..5e7f2460b 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/Minerals.AutoInterfaces.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/Minerals.AutoInterfaces.md @@ -339,7 +339,7 @@ namespace Class2Interface https://ignatandrei.github.io/RSCG_Examples/v2/docs/Minerals.AutoInterfaces -### In the same category (Interface) - 9 other generators +### In the same category (Interface) - 10 other generators #### [Biwen.AutoClassGen](/docs/Biwen.AutoClassGen) @@ -366,5 +366,8 @@ https://ignatandrei.github.io/RSCG_Examples/v2/docs/Minerals.AutoInterfaces #### [Roozie.AutoInterface](/docs/Roozie.AutoInterface) +#### [rscg_Interface_to_null_object](/docs/rscg_Interface_to_null_object) + + #### [RSCG_Static](/docs/RSCG_Static) diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/MorrisMoxy.md b/v2/rscg_examples_site/docs/RSCG-Examples/MorrisMoxy.md index f4b2dc6f1..ac4973db6 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/MorrisMoxy.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/MorrisMoxy.md @@ -243,7 +243,7 @@ Those are taken from $(BaseIntermediateOutputPath)\GX ```csharp showLineNumbers -// Generated from mixin\IDName.mixin at 2024-05-11 16:36:04 UTC +// Generated from mixin\IDName.mixin at 2024-09-22 18:53:00 UTC namespace MorrisMoxyDemo { @@ -263,7 +263,7 @@ namespace MorrisMoxyDemo ```csharp showLineNumbers -// Generated at 2024-05-11 16:36:06 UTC +// Generated at 2024-09-22 18:53:00 UTC namespace MorrisMoxyDemo { partial class Department @@ -282,7 +282,7 @@ namespace MorrisMoxyDemo ```csharp showLineNumbers -// Generated at 2024-05-11 16:36:06 UTC +// Generated at 2024-09-22 18:53:01 UTC namespace MorrisMoxyDemo { partial class Employee diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/NetAutomaticInterface.md b/v2/rscg_examples_site/docs/RSCG-Examples/NetAutomaticInterface.md index a7a1065c6..cb8009f40 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/NetAutomaticInterface.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/NetAutomaticInterface.md @@ -407,7 +407,7 @@ namespace Class2Interface https://ignatandrei.github.io/RSCG_Examples/v2/docs/NetAutomaticInterface -### In the same category (Interface) - 9 other generators +### In the same category (Interface) - 10 other generators #### [Biwen.AutoClassGen](/docs/Biwen.AutoClassGen) @@ -434,5 +434,8 @@ https://ignatandrei.github.io/RSCG_Examples/v2/docs/NetAutomaticInterface #### [Roozie.AutoInterface](/docs/Roozie.AutoInterface) +#### [rscg_Interface_to_null_object](/docs/rscg_Interface_to_null_object) + + #### [RSCG_Static](/docs/RSCG_Static) diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/Pekspro.BuildInformationGenerator.md b/v2/rscg_examples_site/docs/RSCG-Examples/Pekspro.BuildInformationGenerator.md index a810d3f07..156edafd4 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/Pekspro.BuildInformationGenerator.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/Pekspro.BuildInformationGenerator.md @@ -375,16 +375,16 @@ namespace BuildInfo { /// - /// Build time: 2024-08-11 06:05:43 + /// Build time: 2024-09-22 18:55:57 /// Value was taken from the system clock. /// - public static readonly global::System.DateTime BuildTime = new global::System.DateTime(638589531437912507L, global::System.DateTimeKind.Utc); + public static readonly global::System.DateTime BuildTime = new global::System.DateTime(638626281578057885L, global::System.DateTimeKind.Utc); /// - /// Local build time: 2024-08-11 09:05:43 (+03:00) + /// Local build time: 2024-09-22 21:55:57 (+03:00) /// Value was taken from the system clock. /// - public static readonly global::System.DateTimeOffset LocalBuildTime = new global::System.DateTimeOffset(638589639437912507L, new global::System.TimeSpan(108000000000)); + public static readonly global::System.DateTimeOffset LocalBuildTime = new global::System.DateTimeOffset(638626389578057885L, new global::System.TimeSpan(108000000000)); /// /// Build information related to git. @@ -396,19 +396,19 @@ namespace BuildInfo /// The commit id in git at the time of build. /// Value was taken from the AssemblyInformationalVersion attribute. /// - public const string CommitId = "9c8973104459497026d289db2a3f7bdd0e54af02"; + public const string CommitId = "4e734c748598553362149f59ca7aa41c10823d6a"; /// /// The short commit id in git at the time of build. /// Value was taken from the AssemblyInformationalVersion attribute. /// - public const string ShortCommitId = "9c897310"; + public const string ShortCommitId = "4e734c74"; /// /// The git branch used at build time. /// Value was taken from the git branch command. /// - public const string Branch = "284-rscg_diagram"; + public const string Branch = "302-immediatehandlers"; } @@ -428,7 +428,7 @@ namespace BuildInfo /// .NET SDK version used at build time. /// Value was taken from the dotnet --version command. /// - public const string DotNetSdkVersion = "8.0.400-preview.0.24324.5"; + public const string DotNetSdkVersion = "8.0.400"; } } diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/PlantUmlClassDiagramGenerator.md b/v2/rscg_examples_site/docs/RSCG-Examples/PlantUmlClassDiagramGenerator.md index b0be12fe6..7b230265f 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/PlantUmlClassDiagramGenerator.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/PlantUmlClassDiagramGenerator.md @@ -856,23 +856,6 @@ internal class PlantUmlDiagramAttribute : System.Attribute - - - -```csharp showLineNumbers -@startuml Person -class Person { - + FirstName : string? <> <> - + LastName : string? <> <> - + FullName() : string? - + Person() -} -@enduml -``` - - - - ## Usefull diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/ProxyGen.md b/v2/rscg_examples_site/docs/RSCG-Examples/ProxyGen.md index 350ea439e..20a59e8b7 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/ProxyGen.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/ProxyGen.md @@ -397,7 +397,7 @@ internal sealed class Duck_BB1E45629CF5010E4068E5BFBB7EF53B : global::Solti.Util https://ignatandrei.github.io/RSCG_Examples/v2/docs/ProxyGen -### In the same category (Interface) - 9 other generators +### In the same category (Interface) - 10 other generators #### [Biwen.AutoClassGen](/docs/Biwen.AutoClassGen) @@ -424,5 +424,8 @@ https://ignatandrei.github.io/RSCG_Examples/v2/docs/ProxyGen #### [Roozie.AutoInterface](/docs/Roozie.AutoInterface) +#### [rscg_Interface_to_null_object](/docs/rscg_Interface_to_null_object) + + #### [RSCG_Static](/docs/RSCG_Static) diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/Pure.DI.md b/v2/rscg_examples_site/docs/RSCG-Examples/Pure.DI.md index 0a929def1..03f279329 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/Pure.DI.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/Pure.DI.md @@ -1236,7 +1236,7 @@ using System.Threading.Tasks; #endif partial class Composition { - private readonly Composition _rootM12D23di; + private readonly Composition _rootM01D21di; /// /// This constructor creates a new instance of . @@ -1244,7 +1244,7 @@ partial class Composition [global::Pure.DI.OrdinalAttribute(256)] public Composition() { - _rootM12D23di = this; + _rootM01D21di = this; } /// @@ -1253,7 +1253,7 @@ partial class Composition /// Scope parent. internal Composition(Composition parentScope) { - _rootM12D23di = (parentScope ?? throw new global::System.ArgumentNullException(nameof(parentScope)))._rootM12D23di; + _rootM01D21di = (parentScope ?? throw new global::System.ArgumentNullException(nameof(parentScope)))._rootM01D21di; } #region Roots @@ -1262,7 +1262,7 @@ partial class Composition /// Provides a composition root of type . /// /// - private global::InjectDemo.Database RootM12D23di1 + private global::InjectDemo.Database RootM01D21di1 { [global::System.Runtime.CompilerServices.MethodImpl(global::System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] get @@ -1284,7 +1284,7 @@ partial class Composition [global::System.Runtime.CompilerServices.MethodImpl(global::System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public T Resolve() { - return ResolverM12D23di.Value.Resolve(this); + return ResolverM01D21di.Value.Resolve(this); } /// @@ -1299,7 +1299,7 @@ partial class Composition [global::System.Runtime.CompilerServices.MethodImpl(global::System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public T Resolve(object? tag) { - return ResolverM12D23di.Value.ResolveByTag(this, tag); + return ResolverM01D21di.Value.ResolveByTag(this, tag); } /// @@ -1313,25 +1313,25 @@ partial class Composition [global::System.Runtime.CompilerServices.MethodImpl(global::System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public object Resolve(global::System.Type type) { - var index = (int)(_bucketSizeM12D23di * ((uint)global::System.Runtime.CompilerServices.RuntimeHelpers.GetHashCode(type) % 1)); - ref var pair = ref _bucketsM12D23di[index]; - return pair.Key == type ? pair.Value.Resolve(this) : ResolveM12D23di(type, index); + var index = (int)(_bucketSizeM01D21di * ((uint)global::System.Runtime.CompilerServices.RuntimeHelpers.GetHashCode(type) % 1)); + ref var pair = ref _bucketsM01D21di[index]; + return pair.Key == type ? pair.Value.Resolve(this) : ResolveM01D21di(type, index); } [global::System.Runtime.CompilerServices.MethodImpl(global::System.Runtime.CompilerServices.MethodImplOptions.NoInlining)] - private object ResolveM12D23di(global::System.Type type, int index) + private object ResolveM01D21di(global::System.Type type, int index) { - var finish = index + _bucketSizeM12D23di; + var finish = index + _bucketSizeM01D21di; while (++index < finish) { - ref var pair = ref _bucketsM12D23di[index]; + ref var pair = ref _bucketsM01D21di[index]; if (pair.Key == type) { return pair.Value.Resolve(this); } } - throw new global::System.InvalidOperationException($"{CannotResolveMessageM12D23di} {OfTypeMessageM12D23di} {type}."); + throw new global::System.InvalidOperationException($"{CannotResolveMessageM01D21di} {OfTypeMessageM01D21di} {type}."); } /// @@ -1346,68 +1346,68 @@ partial class Composition [global::System.Runtime.CompilerServices.MethodImpl(global::System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] public object Resolve(global::System.Type type, object? tag) { - var index = (int)(_bucketSizeM12D23di * ((uint)global::System.Runtime.CompilerServices.RuntimeHelpers.GetHashCode(type) % 1)); - ref var pair = ref _bucketsM12D23di[index]; - return pair.Key == type ? pair.Value.ResolveByTag(this, tag) : ResolveM12D23di(type, tag, index); + var index = (int)(_bucketSizeM01D21di * ((uint)global::System.Runtime.CompilerServices.RuntimeHelpers.GetHashCode(type) % 1)); + ref var pair = ref _bucketsM01D21di[index]; + return pair.Key == type ? pair.Value.ResolveByTag(this, tag) : ResolveM01D21di(type, tag, index); } [global::System.Runtime.CompilerServices.MethodImpl(global::System.Runtime.CompilerServices.MethodImplOptions.NoInlining)] - private object ResolveM12D23di(global::System.Type type, object? tag, int index) + private object ResolveM01D21di(global::System.Type type, object? tag, int index) { - var finish = index + _bucketSizeM12D23di; + var finish = index + _bucketSizeM01D21di; while (++index < finish) { - ref var pair = ref _bucketsM12D23di[index]; + ref var pair = ref _bucketsM01D21di[index]; if (pair.Key == type) { return pair.Value.ResolveByTag(this, tag); } } - throw new global::System.InvalidOperationException($"{CannotResolveMessageM12D23di} \"{tag}\" {OfTypeMessageM12D23di} {type}."); + throw new global::System.InvalidOperationException($"{CannotResolveMessageM01D21di} \"{tag}\" {OfTypeMessageM01D21di} {type}."); } #endregion - private readonly static int _bucketSizeM12D23di; - private readonly static global::Pure.DI.Pair>[] _bucketsM12D23di; + private readonly static int _bucketSizeM01D21di; + private readonly static global::Pure.DI.Pair>[] _bucketsM01D21di; static Composition() { - var valResolverM12D23di_0000 = new ResolverM12D23di_0000(); - ResolverM12D23di.Value = valResolverM12D23di_0000; - _bucketsM12D23di = global::Pure.DI.Buckets>.Create( + var valResolverM01D21di_0000 = new ResolverM01D21di_0000(); + ResolverM01D21di.Value = valResolverM01D21di_0000; + _bucketsM01D21di = global::Pure.DI.Buckets>.Create( 1, - out _bucketSizeM12D23di, + out _bucketSizeM01D21di, new global::Pure.DI.Pair>[1] { - new global::Pure.DI.Pair>(typeof(InjectDemo.Database), valResolverM12D23di_0000) + new global::Pure.DI.Pair>(typeof(InjectDemo.Database), valResolverM01D21di_0000) }); } #region Resolvers - private const string CannotResolveMessageM12D23di = "Cannot resolve composition root "; - private const string OfTypeMessageM12D23di = "of type "; + private const string CannotResolveMessageM01D21di = "Cannot resolve composition root "; + private const string OfTypeMessageM01D21di = "of type "; - private class ResolverM12D23di: global::Pure.DI.IResolver + private class ResolverM01D21di: global::Pure.DI.IResolver { - public static global::Pure.DI.IResolver Value = new ResolverM12D23di(); + public static global::Pure.DI.IResolver Value = new ResolverM01D21di(); public virtual T Resolve(Composition composite) { - throw new global::System.InvalidOperationException($"{CannotResolveMessageM12D23di}{OfTypeMessageM12D23di}{typeof(T)}."); + throw new global::System.InvalidOperationException($"{CannotResolveMessageM01D21di}{OfTypeMessageM01D21di}{typeof(T)}."); } public virtual T ResolveByTag(Composition composite, object tag) { - throw new global::System.InvalidOperationException($"{CannotResolveMessageM12D23di}\"{tag}\" {OfTypeMessageM12D23di}{typeof(T)}."); + throw new global::System.InvalidOperationException($"{CannotResolveMessageM01D21di}\"{tag}\" {OfTypeMessageM01D21di}{typeof(T)}."); } } - private sealed class ResolverM12D23di_0000: ResolverM12D23di + private sealed class ResolverM01D21di_0000: ResolverM01D21di { public override InjectDemo.Database Resolve(Composition composition) { - return composition.RootM12D23di1; + return composition.RootM01D21di1; } public override InjectDemo.Database ResolveByTag(Composition composition, object tag) @@ -1415,7 +1415,7 @@ partial class Composition switch (tag) { case null: - return composition.RootM12D23di1; + return composition.RootM01D21di1; default: return base.ResolveByTag(composition, tag); diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/RDG.md b/v2/rscg_examples_site/docs/RSCG-Examples/RDG.md index a1d2158ec..5dab68307 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/RDG.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/RDG.md @@ -237,7 +237,7 @@ Those are taken from $(BaseIntermediateOutputPath)\GX namespace System.Runtime.CompilerServices { - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.AspNetCore.Http.RequestDelegateGenerator, Version=8.0.2.0, Culture=neutral, PublicKeyToken=adb9793829ddae60", "8.0.2.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.AspNetCore.Http.RequestDelegateGenerator, Version=8.0.8.0, Culture=neutral, PublicKeyToken=adb9793829ddae60", "8.0.8.0")] [AttributeUsage(AttributeTargets.Method, AllowMultiple = true)] file sealed class InterceptsLocationAttribute : Attribute { @@ -279,7 +279,7 @@ namespace Microsoft.AspNetCore.Http.Generated using MetadataPopulator = System.Func; using RequestDelegateFactoryFunc = System.Func; - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.AspNetCore.Http.RequestDelegateGenerator, Version=8.0.2.0, Culture=neutral, PublicKeyToken=adb9793829ddae60", "8.0.2.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.AspNetCore.Http.RequestDelegateGenerator, Version=8.0.8.0, Culture=neutral, PublicKeyToken=adb9793829ddae60", "8.0.8.0")] file static class GeneratedRouteBuilderExtensionsCore { private static readonly JsonOptions FallbackJsonOptions = new(); @@ -295,7 +295,7 @@ namespace Microsoft.AspNetCore.Http.Generated { Debug.Assert(options != null, "RequestDelegateFactoryOptions not found."); Debug.Assert(options.EndpointBuilder != null, "EndpointBuilder not found."); - options.EndpointBuilder.Metadata.Add(new System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.AspNetCore.Http.RequestDelegateGenerator, Version=8.0.2.0, Culture=neutral, PublicKeyToken=adb9793829ddae60", "8.0.2.0")); + options.EndpointBuilder.Metadata.Add(new System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.AspNetCore.Http.RequestDelegateGenerator, Version=8.0.8.0, Culture=neutral, PublicKeyToken=adb9793829ddae60", "8.0.8.0")); options.EndpointBuilder.Metadata.Add(new ProducesResponseTypeMetadata(statusCode: StatusCodes.Status200OK, type: typeof(global::WeatherForecast[]), contentTypes: GeneratedMetadataConstants.JsonContentType)); return new RequestDelegateMetadataResult { EndpointMetadata = options.EndpointBuilder.Metadata.AsReadOnly() }; }; @@ -442,7 +442,7 @@ namespace Microsoft.AspNetCore.Http.Generated } - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.AspNetCore.Http.RequestDelegateGenerator, Version=8.0.2.0, Culture=neutral, PublicKeyToken=adb9793829ddae60", "8.0.2.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.AspNetCore.Http.RequestDelegateGenerator, Version=8.0.8.0, Culture=neutral, PublicKeyToken=adb9793829ddae60", "8.0.8.0")] file static class GeneratedMetadataConstants { public static readonly string[] JsonContentType = new [] { "application/json" }; @@ -452,7 +452,7 @@ namespace Microsoft.AspNetCore.Http.Generated } - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.AspNetCore.Http.RequestDelegateGenerator, Version=8.0.2.0, Culture=neutral, PublicKeyToken=adb9793829ddae60", "8.0.2.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.AspNetCore.Http.RequestDelegateGenerator, Version=8.0.8.0, Culture=neutral, PublicKeyToken=adb9793829ddae60", "8.0.8.0")] file sealed class LogOrThrowExceptionHelper { private readonly ILogger? _rdgLogger; diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/RSCG_AMS.md b/v2/rscg_examples_site/docs/RSCG-Examples/RSCG_AMS.md index 8ce37a34c..29ab9ca94 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/RSCG_AMS.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/RSCG_AMS.md @@ -385,14 +385,14 @@ namespace RSCG_AMSDemo { /// public XAboutMySoftware_828469749970839076110119122(){ AssemblyName ="RSCG_AMSDemo" ; - DateGenerated = DateTime.ParseExact("20240511163618", "yyyyMMddHHmmss", null); + DateGenerated = DateTime.ParseExact("20240922185715", "yyyyMMddHHmmss", null); CommitId = "not in a CI run" ; RepoUrl ="https://ignatandrei.github.io/RSCG_AMS/runtimeMessages/NotFound.md" ; CISourceControl = "not in a CI run" ; SourceCommit = "https://ignatandrei.github.io/RSCG_AMS/runtimeMessages/NotFound.md" ; Authors= ""; Version= ""; - EnvironmentVars =";User_Path;User_ChocolateyLastPathUpdate;User_TMP;User_TEMP;User_OneDrive;User_OneDriveConsumer;Process_ServiceHubLogSessionKey;Process_PROCESSOR_LEVEL;Process_TMP;Process_CommonProgramFiles(x86);Process_Path;Process_OS;Process_ChocolateyInstall;Process_SignInWithHomeTenantOnly;Process_VsPerMonitorDpiAwarenessEnabled.23820;Process_NUGET_PACKAGES;Process_COMPUTERNAME;Process_USERNAME;Process_CommonProgramW6432;Process_MSBuildSDKsPath;Process_LOCALAPPDATA;Process_OneDrive;Process_CommonProgramFiles;Process_DOTNET_CLI_TELEMETRY_SESSIONID;Process_VS_Perf_Session_GCHeapCount;Process_ChocolateyLastPathUpdate;Process_FPS_BROWSER_USER_PROFILE_STRING;Process_PSModulePath;Process_APPDATA;Process_POWERSHELL_DISTRIBUTION_CHANNEL;Process_ALLUSERSPROFILE;Process_DriverData;Process_DOTNET_HOTRELOAD_NAMEDPIPE_NAME;Process_VSLANG;Process_ProgramW6432;Process_MSBuildExtensionsPath;Process_VisualStudioDir;Process_ProgramData;Process_SystemDrive;Process_NUMBER_OF_PROCESSORS;Process_windir;Process_npm_config_cache;Process_HOMEPATH;Process_USERDOMAIN_ROAMINGPROFILE;Process_COMPLUS_ForceEnc;Process_MSBUILDFAILONDRIVEENUMERATINGWILDCARD;Process_PROCESSOR_IDENTIFIER;Process_ENABLE_XAML_DIAGNOSTICS_SOURCE_INFO;Process_VSAPPIDDIR;Process_DOTNET_MODIFIABLE_ASSEMBLIES;Process_VSSKUEDITION;Process_ProgramFiles;Process_VisualStudioEdition;Process_LOGONSERVER;Process_DOTNET_CLI_UI_LANGUAGE;Process_TEMP;Process_VisualStudioVersion;Process_SESSIONNAME;Process_SystemRoot;Process_ZES_ENABLE_SYSMAN;Process_USERPROFILE;Process_JAVA_HOME;Process_ComSpec;Process_ProgramFiles(x86);Process_GCExpConfigUsedInSession;Process_PATHEXT;Process_MSBuildLoadMicrosoftTargetsReadOnly;Process_DOTNET_HOST_PATH;Process_PUBLIC;Process_VSAPPIDNAME;Process_HOMEDRIVE;Process_USERDOMAIN;Process_OneDriveConsumer;Process_FPS_BROWSER_APP_PROFILE_STRING;Process_ThreadedWaitDialogDpiContext;Process_MSBUILDUSESERVER;Process_PkgDefApplicationConfigFile;Process_PROCESSOR_ARCHITECTURE;Process_PROCESSOR_REVISION;Process_PreferredUILang;Machine_PSModulePath;Machine_NUGET_PACKAGES;Machine_npm_config_cache;Machine_DriverData;Machine_ComSpec;Machine_PATHEXT;Machine_PROCESSOR_ARCHITECTURE;Machine_TEMP;Machine_JAVA_HOME;Machine_NUMBER_OF_PROCESSORS;Machine_PROCESSOR_IDENTIFIER;Machine_PROCESSOR_LEVEL;Machine_windir;Machine_POWERSHELL_DISTRIBUTION_CHANNEL;Machine_Path;Machine_TMP;Machine_PROCESSOR_REVISION;Machine_OS;Machine_USERNAME;Machine_ChocolateyInstall;Machine_ZES_ENABLE_SYSMAN"; + EnvironmentVars =";User_TMP;User_OneDrive;User_OneDriveConsumer;User_Path;User_MinVerVerbosity;User_ChocolateyLastPathUpdate;User_AZURE_OPENAI_API_KEY;User_TEMP;Process_ZES_ENABLE_SYSMAN;Process_MSBuildLoadMicrosoftTargetsReadOnly;Process_DOTNET_HOST_PATH;Process_COMPUTERNAME;Process_OneDrive;Process_ProgramData;Process_PUBLIC;Process_Path;Process_JAVA_HOME;Process_PROCESSOR_ARCHITECTURE;Process_LOCALAPPDATA;Process_USERDOMAIN_ROAMINGPROFILE;Process_SystemDrive;Process_WT_PROFILE_ID;Process_MSBuildSDKsPath;Process_DOTNET_WATCH_ITERATION;Process_NUGET_PACKAGES;Process_VCPKG_DEFAULT_BINARY_CACHE;Process_MSBUILDFAILONDRIVEENUMERATINGWILDCARD;Process_AZURE_OPENAI_API_KEY;Process_MinVerVerbosity;Process_USERPROFILE;Process_PROCESSOR_IDENTIFIER;Process_PROCESSOR_LEVEL;Process_DOTNET_CLI_TELEMETRY_SESSIONID;Process_USERNAME;Process_OneDriveConsumer;Process_windir;Process_ALLUSERSPROFILE;Process_CommonProgramFiles(x86);Process_HOMEPATH;Process_LOGONSERVER;Process_TEMP;Process_DriverData;Process_OS;Process_HOMEDRIVE;Process_ChocolateyLastPathUpdate;Process_MSBUILDUSESERVER;Process_ProgramFiles;Process_PATHEXT;Process_PIP_CACHE_DIR;Process_PSModulePath;Process_TMP;Process_CARGO_HOME;Process_USERDOMAIN;Process_NUMBER_OF_PROCESSORS;Process_ProgramW6432;Process_PROCESSOR_REVISION;Process_ProgramFiles(x86);Process_CommonProgramW6432;Process_MSBuildExtensionsPath;Process_DOTNET_WATCH;Process_CommonProgramFiles;Process_ComSpec;Process_SystemRoot;Process_MAVEN_OPTS;Process_npm_config_cache;Process_ChocolateyInstall;Process_WSLENV;Process_APPDATA;Process_SESSIONNAME;Process_POWERSHELL_DISTRIBUTION_CHANNEL;Process_DOTNET_LAUNCH_PROFILE;Process_WT_SESSION;Machine_ZES_ENABLE_SYSMAN;Machine_PSModulePath;Machine_DriverData;Machine_OS;Machine_windir;Machine_JAVA_HOME;Machine_MAVEN_OPTS;Machine_PROCESSOR_ARCHITECTURE;Machine_PATHEXT;Machine_ComSpec;Machine_PROCESSOR_LEVEL;Machine_POWERSHELL_DISTRIBUTION_CHANNEL;Machine_VCPKG_DEFAULT_BINARY_CACHE;Machine_ChocolateyInstall;Machine_CARGO_HOME;Machine_TMP;Machine_Path;Machine_PROCESSOR_IDENTIFIER;Machine_NUMBER_OF_PROCESSORS;Machine_PIP_CACHE_DIR;Machine_USERNAME;Machine_npm_config_cache;Machine_NUGET_PACKAGES;Machine_TEMP;Machine_PROCESSOR_REVISION"; User = "ignat"; IsInCI=false; @@ -401,6 +401,188 @@ v.Name = "FutureRelease" ; v.ISODateTime=DateTime.ParseExact("99990416","yyyyMMdd",null); { var rd=new ReleaseData(); rd.Author = "Andrei Ignat"; +rd.CommitId = "d50dab7ca83ffc49e0983e33c59e92a7bcb8aff7"; +rd.Subject = "Merge pull request #301 from ignatandrei/300-dusharp"; +rd.ReleaseDate = DateTime.ParseExact("20240918","yyyyMMdd",null); +v.AddRelease(rd); +}{ +var rd=new ReleaseData(); +rd.Author = "Andrei Ignat"; +rd.CommitId = "61c7c7abc9cf9dd220b4e06a092ec6e70d86b162"; +rd.Subject = "Merge pull request #298 from ignatandrei/297-lightweightobjectmapper"; +rd.ReleaseDate = DateTime.ParseExact("20240918","yyyyMMdd",null); +v.AddRelease(rd); +}{ +var rd=new ReleaseData(); +rd.Author = "Andrei Ignat"; +rd.CommitId = "7c0b4cf2784c696841d5d06130338041cbf04768"; +rd.Subject = "Merge branch 'main' of https://github.com/ignatandrei/RSCG_Examples"; +rd.ReleaseDate = DateTime.ParseExact("20240918","yyyyMMdd",null); +v.AddRelease(rd); +}{ +var rd=new ReleaseData(); +rd.Author = "Andrei Ignat"; +rd.CommitId = "4f21390a04617fc1e17f05457c58268dd418d19c"; +rd.Subject = "Merge pull request #296 from ignatandrei/295-tyopes"; +rd.ReleaseDate = DateTime.ParseExact("20240918","yyyyMMdd",null); +v.AddRelease(rd); +}{ +var rd=new ReleaseData(); +rd.Author = "Andrei Ignat"; +rd.CommitId = "0ad2fd0a116042f2b6c83400919eccad082cd34b"; +rd.Subject = "Merge pull request #292 from ignatandrei/Sera.Union"; +rd.ReleaseDate = DateTime.ParseExact("20240829","yyyyMMdd",null); +v.AddRelease(rd); +}{ +var rd=new ReleaseData(); +rd.Author = "Andrei Ignat"; +rd.CommitId = "5ca0ae17d3354ac87db1fd74d7171057f761dcf9"; +rd.Subject = "Merge branch 'main' of https://github.com/ignatandrei/RSCG_Examples"; +rd.ReleaseDate = DateTime.ParseExact("20240827","yyyyMMdd",null); +v.AddRelease(rd); +}{ +var rd=new ReleaseData(); +rd.Author = "Andrei Ignat"; +rd.CommitId = "23c63be52e53ddf78e206aa4d3704af3fbc387e8"; +rd.Subject = "Merge pull request #290 from ignatandrei/RSCG_NameGenerator"; +rd.ReleaseDate = DateTime.ParseExact("20240826","yyyyMMdd",null); +v.AddRelease(rd); +}{ +var rd=new ReleaseData(); +rd.Author = "Andrei Ignat"; +rd.CommitId = "e26af0a741dbd2c1abed708736ab1145eab91395"; +rd.Subject = "Merge pull request #289 from ignatandrei/Coplt.Dropping"; +rd.ReleaseDate = DateTime.ParseExact("20240823","yyyyMMdd",null); +v.AddRelease(rd); +}{ +var rd=new ReleaseData(); +rd.Author = "Andrei Ignat"; +rd.CommitId = "e029172db2624ae8a9e11bf2cb01b026ee54e3ab"; +rd.Subject = "Merge branch 'main' of https://github.com/ignatandrei/RSCG_Examples"; +rd.ReleaseDate = DateTime.ParseExact("20240811","yyyyMMdd",null); +v.AddRelease(rd); +}{ +var rd=new ReleaseData(); +rd.Author = "Andrei Ignat"; +rd.CommitId = "e24d84c372452ddbe102ba31baa92b73f8e53042"; +rd.Subject = "Merge pull request #287 from ignatandrei/286-fluentify"; +rd.ReleaseDate = DateTime.ParseExact("20240811","yyyyMMdd",null); +v.AddRelease(rd); +}{ +var rd=new ReleaseData(); +rd.Author = "Andrei Ignat"; +rd.CommitId = "b88f6ae6b9cd0871fdfa0e21554ac129b850a1d6"; +rd.Subject = "Merge branch 'main' of https://github.com/ignatandrei/RSCG_Examples"; +rd.ReleaseDate = DateTime.ParseExact("20240811","yyyyMMdd",null); +v.AddRelease(rd); +}{ +var rd=new ReleaseData(); +rd.Author = "Andrei Ignat"; +rd.CommitId = "69fa4faa5a9d2ec29558b8bc619593dd776d87e1"; +rd.Subject = "Merge pull request #285 from ignatandrei/284-rscg_diagram"; +rd.ReleaseDate = DateTime.ParseExact("20240811","yyyyMMdd",null); +v.AddRelease(rd); +}{ +var rd=new ReleaseData(); +rd.Author = "Andrei Ignat"; +rd.CommitId = "4853af2b70f6a43998f33828c66fac8628cf90d5"; +rd.Subject = "Merge pull request #283 from ignatandrei/282-servicescan"; +rd.ReleaseDate = DateTime.ParseExact("20240719","yyyyMMdd",null); +v.AddRelease(rd); +}{ +var rd=new ReleaseData(); +rd.Author = "Andrei Ignat"; +rd.CommitId = "5de05c7f9ac5bc31fdb888c3c70cc5c2ac9b21fd"; +rd.Subject = "Merge pull request #281 from ignatandrei/ThisAssembly.Strings"; +rd.ReleaseDate = DateTime.ParseExact("20240719","yyyyMMdd",null); +v.AddRelease(rd); +}{ +var rd=new ReleaseData(); +rd.Author = "Andrei Ignat"; +rd.CommitId = "b44a7c19a761914ffe05c6906667c011d517ef5a"; +rd.Subject = "Merge pull request #280 from ignatandrei/ThisAssembly.Metadata"; +rd.ReleaseDate = DateTime.ParseExact("20240719","yyyyMMdd",null); +v.AddRelease(rd); +}{ +var rd=new ReleaseData(); +rd.Author = "Andrei Ignat"; +rd.CommitId = "c5fad0208cbb1c3d7f543af09967cf224fe6d1fc"; +rd.Subject = "Merge pull request #279 from ignatandrei/278-httpsgithubcompeksprobuildinformationgenerator"; +rd.ReleaseDate = DateTime.ParseExact("20240718","yyyyMMdd",null); +v.AddRelease(rd); +}{ +var rd=new ReleaseData(); +rd.Author = "Andrei Ignat"; +rd.CommitId = "51a6dd67bbe091af607870fd80a52ea54d249e47"; +rd.Subject = "Merge pull request #277 from ignatandrei/ThisAssembly.Constants"; +rd.ReleaseDate = DateTime.ParseExact("20240718","yyyyMMdd",null); +v.AddRelease(rd); +}{ +var rd=new ReleaseData(); +rd.Author = "Andrei Ignat"; +rd.CommitId = "5baf684639300a4f9bb0b65b5d7d5d1fbbe03c63"; +rd.Subject = "Merge pull request #276 from ignatandrei/JKToolKit.TemplatePropertyGenerator"; +rd.ReleaseDate = DateTime.ParseExact("20240718","yyyyMMdd",null); +v.AddRelease(rd); +}{ +var rd=new ReleaseData(); +rd.Author = "Andrei Ignat"; +rd.CommitId = "f1f2769623dadb2b37a39297716a83a81749579f"; +rd.Subject = "Merge pull request #275 from ignatandrei/RSCG_Formattable"; +rd.ReleaseDate = DateTime.ParseExact("20240711","yyyyMMdd",null); +v.AddRelease(rd); +}{ +var rd=new ReleaseData(); +rd.Author = "Andrei Ignat"; +rd.CommitId = "ecf4e6026fc064087f4fdf21635541ad7647f35e"; +rd.Subject = "Merge pull request #274 from ignatandrei/yang"; +rd.ReleaseDate = DateTime.ParseExact("20240709","yyyyMMdd",null); +v.AddRelease(rd); +}{ +var rd=new ReleaseData(); +rd.Author = "Andrei Ignat"; +rd.CommitId = "62dbeddb74d032c5ac837103e1394d1b678bcd5a"; +rd.Subject = "Merge pull request #272 from ignatandrei/266-depso"; +rd.ReleaseDate = DateTime.ParseExact("20240629","yyyyMMdd",null); +v.AddRelease(rd); +}{ +var rd=new ReleaseData(); +rd.Author = "Andrei Ignat"; +rd.CommitId = "2c0fd7d7bc090e3d71e80ff63f5f78eb966c34e6"; +rd.Subject = "Merge pull request #271 from ignatandrei/267-factorygenerator"; +rd.ReleaseDate = DateTime.ParseExact("20240628","yyyyMMdd",null); +v.AddRelease(rd); +}{ +var rd=new ReleaseData(); +rd.Author = "Andrei Ignat"; +rd.CommitId = "c15ff6beab49b37eb9c5c83bde83f960c34f6978"; +rd.Subject = "Merge branch 'main' of https://github.com/ignatandrei/RSCG_Examples into 267-factorygenerator"; +rd.ReleaseDate = DateTime.ParseExact("20240628","yyyyMMdd",null); +v.AddRelease(rd); +}{ +var rd=new ReleaseData(); +rd.Author = "Andrei Ignat"; +rd.CommitId = "728d5cb0db08d5dd7235a49f223c338cc61d6da7"; +rd.Subject = "Merge pull request #270 from ignatandrei/269-httpsgithubcomsteventhuriottablestorage"; +rd.ReleaseDate = DateTime.ParseExact("20240619","yyyyMMdd",null); +v.AddRelease(rd); +}{ +var rd=new ReleaseData(); +rd.Author = "Andrei Ignat"; +rd.CommitId = "d1963618e3789700e9e48a72091abbd10c3ddf52"; +rd.Subject = "Merge branch 'main' of https://github.com/ignatandrei/RSCG_Examples"; +rd.ReleaseDate = DateTime.ParseExact("20240512","yyyyMMdd",null); +v.AddRelease(rd); +}{ +var rd=new ReleaseData(); +rd.Author = "Andrei Ignat"; +rd.CommitId = "6383097a568f7c4998cbd5e775f696e8d420c1dc"; +rd.Subject = "Merge pull request #264 from ignatandrei/263-httpsgithubcomaabsactorsrcgen"; +rd.ReleaseDate = DateTime.ParseExact("20240511","yyyyMMdd",null); +v.AddRelease(rd); +}{ +var rd=new ReleaseData(); +rd.Author = "Andrei Ignat"; rd.CommitId = "fb4d9538c7a07b994f914845e681b505bd8393d1"; rd.Subject = "Merge pull request #262 from ignatandrei/261-httpsgithubcomszymonhaluchamineralsautomixins"; rd.ReleaseDate = DateTime.ParseExact("20240509","yyyyMMdd",null); diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/RSCG_ExportDiagram.md b/v2/rscg_examples_site/docs/RSCG-Examples/RSCG_ExportDiagram.md index f1bb781a0..f0bec593e 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/RSCG_ExportDiagram.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/RSCG_ExportDiagram.md @@ -254,7 +254,7 @@ Those are taken from $(BaseIntermediateOutputPath)\GX ```csharp showLineNumbers //JSONFolder=obj/GX/ -//projectDir=D:\gth\RSCG_Examples\v2\rscg_examples\RSCG_ExportDiagram\src\DiagramDemo\DiagramDemoConsole\ +//projectDir=D:\gth\RSCG_Examples\v2\rscg_examples\RSCG_ExportDiagram\src\DiagramDemoConsole\ //projectName=DiagramDemoConsole //excludeData= file class Program_References_1 diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/RSCG_NameGenerator.md b/v2/rscg_examples_site/docs/RSCG-Examples/RSCG_NameGenerator.md index 000a100b6..2e48a7378 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/RSCG_NameGenerator.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/RSCG_NameGenerator.md @@ -171,13 +171,12 @@ Those are taken from $(BaseIntermediateOutputPath)\GX public static class TheAssemblyInfo { public const string AssemblyName = "TestNameGenerator"; - public const string GeneratedNameNice = "Sir Winston Churchill is feeling private in Naypyidaw"; - public const string GeneratedNameSmall = "private-Sir Winston Churchill"; - public const string GeneratedName = "private-Sir Winston Churchill-Naypyidaw"; + public const string GeneratedNameNice = "Heinrich Böll is feeling dynamic in Canberra"; + public const string GeneratedNameSmall = "dynamic-Heinrich Böll"; + public const string GeneratedName = "dynamic-Heinrich Böll-Canberra"; } } - ``` diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/RSCG_Static.md b/v2/rscg_examples_site/docs/RSCG-Examples/RSCG_Static.md index ecf5c0ad3..a07907381 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/RSCG_Static.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/RSCG_Static.md @@ -219,7 +219,7 @@ Those are taken from $(BaseIntermediateOutputPath)\GX https://ignatandrei.github.io/RSCG_Examples/v2/docs/RSCG_Static -### In the same category (Interface) - 9 other generators +### In the same category (Interface) - 10 other generators #### [Biwen.AutoClassGen](/docs/Biwen.AutoClassGen) @@ -248,3 +248,6 @@ https://ignatandrei.github.io/RSCG_Examples/v2/docs/RSCG_Static #### [Roozie.AutoInterface](/docs/Roozie.AutoInterface) + +#### [rscg_Interface_to_null_object](/docs/rscg_Interface_to_null_object) + diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/RSCG_Wait.md b/v2/rscg_examples_site/docs/RSCG-Examples/RSCG_Wait.md index 8c40054f9..1d0c08200 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/RSCG_Wait.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/RSCG_Wait.md @@ -227,7 +227,7 @@ public static string build_property_usingmicrosoftnetsdkweb => @""; namespace RSCG_Wait; partial class MyGeneratedCode { - public static string DateEnd => "5/11/2024 7:36:46 PM"; + public static string DateEnd => "9/22/2024 9:58:14 PM"; } ``` @@ -255,7 +255,7 @@ namespace RSCG_Wait; [global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage] partial class MyGeneratedCode { - public static string DateStart => "5/11/2024 7:36:36 PM"; + public static string DateStart => "9/22/2024 9:58:04 PM"; public static int SecondsToWait=10; } #nullable restore diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/RazorSlices.md b/v2/rscg_examples_site/docs/RSCG-Examples/RazorSlices.md index a8e93bd6f..3293301b4 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/RazorSlices.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/RazorSlices.md @@ -397,7 +397,7 @@ Those are taken from $(BaseIntermediateOutputPath)\GX ```csharp showLineNumbers -#pragma checksum "D:\gth\RSCG_Examples\v2\rscg_examples\EmbeddedResourcePropertyGenerator\src\RazorDemoSlices\RazorDemoSlices\Slices\PersonHTML.cshtml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "6b3710e80836b438a5d8935ea469d238fc095e46298456ca847e09519393bb5e" +#pragma checksum "D:\gth\RSCG_Examples\v2\rscg_examples\RazorSlices\src\RazorDemoSlices\Slices\PersonHTML.cshtml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "6b3710e80836b438a5d8935ea469d238fc095e46298456ca847e09519393bb5e" // #pragma warning disable 1591 [assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(AspNetCoreGeneratedDocument.Slices_PersonHTML), @"mvc.1.0.view", @"/Slices/PersonHTML.cshtml")] @@ -412,17 +412,17 @@ namespace AspNetCoreGeneratedDocument using global::Microsoft.AspNetCore.Mvc.Rendering; using global::Microsoft.AspNetCore.Mvc.ViewFeatures; #nullable restore -#line (3,2)-(4,1) "D:\gth\RSCG_Examples\v2\rscg_examples\EmbeddedResourcePropertyGenerator\src\RazorDemoSlices\RazorDemoSlices\Slices\_ViewImports.cshtml" +#line (3,2)-(4,1) "D:\gth\RSCG_Examples\v2\rscg_examples\RazorSlices\src\RazorDemoSlices\Slices\_ViewImports.cshtml" using System.Globalization; #nullable disable #nullable restore -#line (4,2)-(5,1) "D:\gth\RSCG_Examples\v2\rscg_examples\EmbeddedResourcePropertyGenerator\src\RazorDemoSlices\RazorDemoSlices\Slices\_ViewImports.cshtml" +#line (4,2)-(5,1) "D:\gth\RSCG_Examples\v2\rscg_examples\RazorSlices\src\RazorDemoSlices\Slices\_ViewImports.cshtml" using Microsoft.AspNetCore.Razor; #nullable disable #nullable restore -#line (5,2)-(6,1) "D:\gth\RSCG_Examples\v2\rscg_examples\EmbeddedResourcePropertyGenerator\src\RazorDemoSlices\RazorDemoSlices\Slices\_ViewImports.cshtml" +#line (5,2)-(6,1) "D:\gth\RSCG_Examples\v2\rscg_examples\RazorSlices\src\RazorDemoSlices\Slices\_ViewImports.cshtml" using Microsoft.AspNetCore.Http.HttpResults; #line default @@ -440,7 +440,7 @@ using Microsoft.AspNetCore.Http.HttpResults; WriteLiteral("\r\n\r\n\r\n \r\n Hello from Razor Slices!\r\n\r\n\r\n

\r\n My name is "); Write( #nullable restore -#line (10,21)-(10,36) "D:\gth\RSCG_Examples\v2\rscg_examples\EmbeddedResourcePropertyGenerator\src\RazorDemoSlices\RazorDemoSlices\Slices\PersonHTML.cshtml" +#line (10,21)-(10,36) "D:\gth\RSCG_Examples\v2\rscg_examples\RazorSlices\src\RazorDemoSlices\Slices\PersonHTML.cshtml" Model.FirstName #line default @@ -450,7 +450,7 @@ Model.FirstName WriteLiteral(" "); Write( #nullable restore -#line (10,38)-(10,52) "D:\gth\RSCG_Examples\v2\rscg_examples\EmbeddedResourcePropertyGenerator\src\RazorDemoSlices\RazorDemoSlices\Slices\PersonHTML.cshtml" +#line (10,38)-(10,52) "D:\gth\RSCG_Examples\v2\rscg_examples\RazorSlices\src\RazorDemoSlices\Slices\PersonHTML.cshtml" Model.LastName #line default @@ -493,7 +493,7 @@ Model.LastName ```csharp showLineNumbers -#pragma checksum "D:\gth\RSCG_Examples\v2\rscg_examples\EmbeddedResourcePropertyGenerator\src\RazorDemoSlices\RazorDemoSlices\Slices\_ViewImports.cshtml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "95493514af34e5705fffb1e5c7121f0e7abde13ee7a1cff8fbafa2085da18fff" +#pragma checksum "D:\gth\RSCG_Examples\v2\rscg_examples\RazorSlices\src\RazorDemoSlices\Slices\_ViewImports.cshtml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "95493514af34e5705fffb1e5c7121f0e7abde13ee7a1cff8fbafa2085da18fff" // #pragma warning disable 1591 [assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(AspNetCoreGeneratedDocument.Slices__ViewImports), @"mvc.1.0.view", @"/Slices/_ViewImports.cshtml")] @@ -508,17 +508,17 @@ namespace AspNetCoreGeneratedDocument using global::Microsoft.AspNetCore.Mvc.Rendering; using global::Microsoft.AspNetCore.Mvc.ViewFeatures; #nullable restore -#line (3,2)-(4,1) "D:\gth\RSCG_Examples\v2\rscg_examples\EmbeddedResourcePropertyGenerator\src\RazorDemoSlices\RazorDemoSlices\Slices\_ViewImports.cshtml" +#line (3,2)-(4,1) "D:\gth\RSCG_Examples\v2\rscg_examples\RazorSlices\src\RazorDemoSlices\Slices\_ViewImports.cshtml" using System.Globalization; #nullable disable #nullable restore -#line (4,2)-(5,1) "D:\gth\RSCG_Examples\v2\rscg_examples\EmbeddedResourcePropertyGenerator\src\RazorDemoSlices\RazorDemoSlices\Slices\_ViewImports.cshtml" +#line (4,2)-(5,1) "D:\gth\RSCG_Examples\v2\rscg_examples\RazorSlices\src\RazorDemoSlices\Slices\_ViewImports.cshtml" using Microsoft.AspNetCore.Razor; #nullable disable #nullable restore -#line (5,2)-(6,1) "D:\gth\RSCG_Examples\v2\rscg_examples\EmbeddedResourcePropertyGenerator\src\RazorDemoSlices\RazorDemoSlices\Slices\_ViewImports.cshtml" +#line (5,2)-(6,1) "D:\gth\RSCG_Examples\v2\rscg_examples\RazorSlices\src\RazorDemoSlices\Slices\_ViewImports.cshtml" using Microsoft.AspNetCore.Http.HttpResults; #line default diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/Roozie.AutoInterface.md b/v2/rscg_examples_site/docs/RSCG-Examples/Roozie.AutoInterface.md index cbaf37fd3..8f5fac40b 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/Roozie.AutoInterface.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/Roozie.AutoInterface.md @@ -252,7 +252,7 @@ public partial interface IPerson https://ignatandrei.github.io/RSCG_Examples/v2/docs/Roozie.AutoInterface -### In the same category (Interface) - 9 other generators +### In the same category (Interface) - 10 other generators #### [Biwen.AutoClassGen](/docs/Biwen.AutoClassGen) @@ -279,5 +279,8 @@ https://ignatandrei.github.io/RSCG_Examples/v2/docs/Roozie.AutoInterface #### [ProxyGen](/docs/ProxyGen) +#### [rscg_Interface_to_null_object](/docs/rscg_Interface_to_null_object) + + #### [RSCG_Static](/docs/RSCG_Static) diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/System.Runtime.InteropServices.md b/v2/rscg_examples_site/docs/RSCG-Examples/System.Runtime.InteropServices.md index 110988b04..cda5a3458 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/System.Runtime.InteropServices.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/System.Runtime.InteropServices.md @@ -150,7 +150,7 @@ Those are taken from $(BaseIntermediateOutputPath)\GX // unsafe partial class DemoImport { - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.LibraryImportGenerator", "7.0.10.6629")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.LibraryImportGenerator", "7.0.10.26716")] [System.Runtime.CompilerServices.SkipLocalsInitAttribute] internal static partial int MessageBoxW_LI(nint hWnd, string lpText, string lpCaption, uint uType) { diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/System.Text.Json.md b/v2/rscg_examples_site/docs/RSCG-Examples/System.Text.Json.md index d936c8fea..98556efef 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/System.Text.Json.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/System.Text.Json.md @@ -316,7 +316,7 @@ namespace JsonSerializerOptionsExample namespace JsonSerializerOptionsExample { - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Text.Json.SourceGeneration", "7.0.10.6629")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Text.Json.SourceGeneration", "7.0.10.26716")] internal partial class OptionsExampleContext { diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/System.Text.RegularExpressions.md b/v2/rscg_examples_site/docs/RSCG-Examples/System.Text.RegularExpressions.md index 6903747f2..4c80d2d71 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/System.Text.RegularExpressions.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/System.Text.RegularExpressions.md @@ -240,7 +240,7 @@ namespace Demo /// ○ Match a character in the set [Ff].
/// /// - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Text.RegularExpressions.Generator", "7.0.10.6629")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Text.RegularExpressions.Generator", "7.0.10.26716")] private static partial global::System.Text.RegularExpressions.Regex AbcOrDefGeneratedRegex() => global::System.Text.RegularExpressions.Generated.AbcOrDefGeneratedRegex_0.Instance; } } @@ -257,7 +257,7 @@ namespace System.Text.RegularExpressions.Generated using System.Threading; ///

Custom -derived type for the AbcOrDefGeneratedRegex method. - [GeneratedCodeAttribute("System.Text.RegularExpressions.Generator", "7.0.10.6629")] + [GeneratedCodeAttribute("System.Text.RegularExpressions.Generator", "7.0.10.26716")] file sealed class AbcOrDefGeneratedRegex_0 : Regex { /// Cached, thread-safe singleton instance. @@ -394,7 +394,7 @@ namespace System.Text.RegularExpressions.Generated } /// Helper methods used by generated -derived implementations. - [GeneratedCodeAttribute("System.Text.RegularExpressions.Generator", "7.0.10.6629")] + [GeneratedCodeAttribute("System.Text.RegularExpressions.Generator", "7.0.10.26716")] file static class Utilities { /// Default timeout value set in , or if none was set. diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/ThisAssembly.md b/v2/rscg_examples_site/docs/RSCG-Examples/ThisAssembly.md index c269fdccb..08d96cc98 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/ThisAssembly.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/ThisAssembly.md @@ -563,7 +563,7 @@ partial class ThisAssembly public const string FileVersion = @"2023.5.7.800"; - public const string InformationalVersion = @"2023.5.7.800+80c672f86ab398961c980938fc2e69cf210e667a"; + public const string InformationalVersion = @"2023.5.7.800+4e734c748598553362149f59ca7aa41c10823d6a"; public const string Product = @"RSCG_Version"; diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/UnionsGenerator.md b/v2/rscg_examples_site/docs/RSCG-Examples/UnionsGenerator.md index 238406ebb..9cda626dd 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/UnionsGenerator.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/UnionsGenerator.md @@ -1045,7 +1045,7 @@ sealed partial class UnionTypeSettingsAttribute : Attribute ```csharp showLineNumbers // -// This file was last generated by RhoMicro.CodeAnalysis.UnionsGenerator at 5/11/2024 7:36:27 PM +03:00 +// This file was last generated by RhoMicro.CodeAnalysis.UnionsGenerator at 9/22/2024 10:00:02 PM +03:00 // The tool used to generate this code may be subject to license terms; // this generated code is however not subject to those terms, instead it is // subject to the license (if any) applied to the containing project. diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/index.md b/v2/rscg_examples_site/docs/RSCG-Examples/index.md index 8d6c297c3..35edb390e 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/index.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/index.md @@ -1,7 +1,7 @@ --- sidebar_position: 30 -title: 181 RSCG list by category -description: 181 RSCG list by category +title: 182 RSCG list by category +description: 182 RSCG list by category slug: /rscg-examples --- @@ -796,7 +796,7 @@ import DocCardList from '@theme/DocCardList'; ## Interface
- Expand Interface =>examples:10 + Expand Interface =>examples:11 @@ -847,6 +847,11 @@ import DocCardList from '@theme/DocCardList'; [Minerals.AutoInterfaces](/docs/Minerals.AutoInterfaces) + + + +[rscg_Interface_to_null_object](/docs/rscg_Interface_to_null_object) +
@@ -1410,6 +1415,8 @@ flowchart LR; Interface--> Minerals.AutoInterfaces((Minerals.AutoInterfaces)) + Interface--> rscg_Interface_to_null_object((rscg_Interface_to_null_object)) + Mapper--> mapperly((mapperly)) Mapper--> NextGenMapper((NextGenMapper)) diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/jsonConverterSourceGenerator.md b/v2/rscg_examples_site/docs/RSCG-Examples/jsonConverterSourceGenerator.md index 41915ad34..aebe92c27 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/jsonConverterSourceGenerator.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/jsonConverterSourceGenerator.md @@ -1024,7 +1024,7 @@ public partial class ProjectJsonSerializerContext // Suppress warnings about [Obsolete] member usage in generated code. #pragma warning disable CS0618 - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Text.Json.SourceGeneration", "7.0.10.6629")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Text.Json.SourceGeneration", "7.0.10.26716")] public partial class ProjectJsonSerializerContext { diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/polytype.md b/v2/rscg_examples_site/docs/RSCG-Examples/polytype.md index 6cf3bb705..c8ebcec82 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/polytype.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/polytype.md @@ -403,15 +403,15 @@ namespace PolyType.SourceGenerator if (type == typeof(global::ConsoleApp1.Person[])) return Person_Array; + if (type == typeof(int)) + return Int32; + if (type == typeof(string)) return String; if (type == typeof(global::ConsoleApp1.Person)) return Person; - if (type == typeof(int)) - return Int32; - return null; } } diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/rscg_Interface_to_null_object.md b/v2/rscg_examples_site/docs/RSCG-Examples/rscg_Interface_to_null_object.md new file mode 100644 index 000000000..ec5e7b606 --- /dev/null +++ b/v2/rscg_examples_site/docs/RSCG-Examples/rscg_Interface_to_null_object.md @@ -0,0 +1,386 @@ +--- +sidebar_position: 1820 +title: 182 - rscg_Interface_to_null_object +description: Generate null objects for interfaces +slug: /rscg_Interface_to_null_object +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import TOCInline from '@theme/TOCInline'; + +# rscg_Interface_to_null_object by Andrei Ignat + + + + +## Nuget / site data +[![Nuget](https://img.shields.io/nuget/dt/rscg_Interface_to_null_object?label=rscg_Interface_to_null_object)](https://www.nuget.org/packages/rscg_Interface_to_null_object/)[![Nuget](https://img.shields.io/nuget/dt/rscg_Interface_to_null_object_common?label=rscg_Interface_to_null_object_common)](https://www.nuget.org/packages/rscg_Interface_to_null_object_common) +[![GitHub last commit](https://img.shields.io/github/last-commit/ignatandrei/rscg_Interface_to_null_object?label=updated)](https://github.com/ignatandrei/rscg_Interface_to_null_object/) +![GitHub Repo stars](https://img.shields.io/github/stars/ignatandrei/rscg_Interface_to_null_object?style=social) + +## Details + +### Info +:::info + +Name: **rscg_Interface_to_null_object** + +Interface to null object - common + +Author: Andrei Ignat + +NuGet: +*https://www.nuget.org/packages/rscg_Interface_to_null_object/* + +*https://www.nuget.org/packages/rscg_Interface_to_null_object_common* + + +You can find more details at https://github.com/ignatandrei/rscg_Interface_to_null_object/ + +Source : https://github.com/ignatandrei/rscg_Interface_to_null_object/ + +::: + +### Original Readme +:::note + +[![NuGet version](https://img.shields.io/nuget/v/rscg_Interface_to_null_object.svg?style=flat-square)](https://www.nuget.org/packages/rscg_Interface_to_null_object) + +[![NuGet version](https://img.shields.io/nuget/v/rscg_Interface_to_null_object_common.svg?style=flat-square)](https://www.nuget.org/packages/rscg_Interface_to_null_object_common) + + +# Interface to Null Object Pattern +Implementation of https://en.wikipedia.org/wiki/Null_object_pattern from interface + +# Installation + +Add to your csproj file: + +```xml + + + + + + true + $(BaseIntermediateOutputPath)\GX + +``` + +Or add the nuget packages rscg_Interface_to_null_object and rscg_Interface_to_null_object_common + +# Usage + +```csharp +[InterfaceToNullObject.ToNullObject] +public interface IEmployee +{ + public string FirstName { get; set; } + public string LastName { get; set; } + public IDepartment Department { get; set; } + public string GetFullName(); + +} +``` + +And then a C# class that implements the interface will be generated + +```csharp +public partial class Employee_null : global::IntegrationConsole.IEmployee +{ + + public virtual string FirstName { get; set; } = default(string); + + public virtual string LastName { get; set; } = default(string); + + public virtual IntegrationConsole.IDepartment Department { get; set; } = default(IntegrationConsole.IDepartment); + + public virtual string GetFullName() { return default(string); } + +} +``` + + + + + +::: + +### About +:::note + +Generate null objects for interfaces + + +::: + +## How to use + +### Example ( source csproj, source files ) + + + + + +This is the CSharp Project that references **rscg_Interface_to_null_object** +```xml showLineNumbers {11} + + + + Exe + net9.0 + enable + enable + + + + + + + + + true + $(BaseIntermediateOutputPath)\GX + + + +``` + + + + + + This is the use of **rscg_Interface_to_null_object** in *Program.cs* + +```csharp showLineNumbers +using NullInterface; + +Console.WriteLine("Hello, World!"); + +Console.WriteLine("Hello, World!"); +IDepartment department = new Department_null(); +department.Name = "IT"; +IEmployee employee = new Employee_null(); +employee.FirstName = "Andrei"; +employee.Department = department; +Console.WriteLine(employee.FirstName); +Console.WriteLine(employee.Department.Name); +``` + + + + + This is the use of **rscg_Interface_to_null_object** in *IEmployee.cs* + +```csharp showLineNumbers + +using InterfaceToNullObject; + +namespace NullInterface; +[ToNullObject] +public interface IEmployee +{ + public string FirstName { get; set; } + public string LastName { get; set; } + public IDepartment Department { get; set; } + public string GetFullName(); + + public string GetFullNameAndDepartment(string separator); + public bool MoveEmployeeToDepartment(IDepartment department); + +} + +``` + + + + + This is the use of **rscg_Interface_to_null_object** in *IDepartment.cs* + +```csharp showLineNumbers +namespace NullInterface; + +using InterfaceToNullObject; + +[ToNullObject] +public interface IDepartment +{ + public string Name { get; set; } +} + +``` + + + + +### Generated Files + +Those are taken from $(BaseIntermediateOutputPath)\GX + + + + + + + +```csharp showLineNumbers + + // + namespace Generated.NullInterface + { + public static class TheAssemblyInfo + { + + public static readonly System.DateTime DateGeneratedUTC ; + public const string AssemblyName = "NullInterface"; + public const string GeneratedNameNice = "Nadine Gordimer is feeling rational in Seoul"; + public const string GeneratedNameSmall = "rational-Nadine Gordimer"; + public const string GeneratedName = "rational-Nadine Gordimer-Seoul"; + static TheAssemblyInfo(){ + DateGeneratedUTC = System.DateTime.ParseExact("2025-01-21 13:29:00", "yyyy-MM-dd HH:mm:ss", null); + } + } + } +``` + + + + + + + +```csharp showLineNumbers +// + // This code was generated by a tool :rscg_Interface_to_null_object + // Runtime Version: Jaroslav Seifert is feeling cheap in Belmopan + // DateOfTool : 2025-01-20 16:33:43 + // Changes to this file may cause incorrect behavior and will be lost if + // the code is regenerated. + // +//------------------------------------------------------------------------------ +/// + /// This static partial class contains extension methods for sorting collections of IDepartment objects. + /// + + #nullable enable + #pragma warning disable CS8603 + #pragma warning disable CS8625 +[global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage] +[global::System.CodeDom.Compiler.GeneratedCode("GeneratorName","2025.10120.11633.143")] +public partial class Department_null : global::NullInterface.IDepartment +{ + + public virtual string Name { get; set; } = default(string); + +} + +#nullable restore +#pragma warning restore CS8603 +#pragma warning restore CS8625 +``` + + + + + + + +```csharp showLineNumbers +// + // This code was generated by a tool :rscg_Interface_to_null_object + // Runtime Version: Jaroslav Seifert is feeling cheap in Belmopan + // DateOfTool : 2025-01-20 16:33:43 + // Changes to this file may cause incorrect behavior and will be lost if + // the code is regenerated. + // +//------------------------------------------------------------------------------ +/// + /// This static partial class contains extension methods for sorting collections of IEmployee objects. + /// + + #nullable enable + #pragma warning disable CS8603 + #pragma warning disable CS8625 +[global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage] +[global::System.CodeDom.Compiler.GeneratedCode("GeneratorName","2025.10120.11633.143")] +public partial class Employee_null : global::NullInterface.IEmployee +{ + + public virtual string FirstName { get; set; } = default(string); + + public virtual string LastName { get; set; } = default(string); + + public virtual NullInterface.IDepartment Department { get; set; } = default(NullInterface.IDepartment); + + public virtual string GetFullName() { return default(string); } + + public virtual string GetFullNameAndDepartment(string separator) { return default(string); } + + public virtual bool MoveEmployeeToDepartment(global::NullInterface.IDepartment department) { return default(bool); } + +} + +#nullable restore +#pragma warning restore CS8603 +#pragma warning restore CS8625 +``` + + + + + + +## Usefull + +### Download Example (.NET C# ) + +:::tip + +[Download Example project rscg_Interface_to_null_object ](/sources/rscg_Interface_to_null_object.zip) + +::: + + +### Share rscg_Interface_to_null_object + + + +https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg_Interface_to_null_object + +### In the same category (Interface) - 10 other generators + + +#### [Biwen.AutoClassGen](/docs/Biwen.AutoClassGen) + + +#### [CopyCat](/docs/CopyCat) + + +#### [Farskeptic.AutoCompose](/docs/Farskeptic.AutoCompose) + + +#### [MakeInterface.Generator](/docs/MakeInterface.Generator) + + +#### [Matryoshki](/docs/Matryoshki) + + +#### [Minerals.AutoInterfaces](/docs/Minerals.AutoInterfaces) + + +#### [NetAutomaticInterface](/docs/NetAutomaticInterface) + + +#### [ProxyGen](/docs/ProxyGen) + + +#### [Roozie.AutoInterface](/docs/Roozie.AutoInterface) + + +#### [RSCG_Static](/docs/RSCG_Static) + diff --git a/v2/rscg_examples_site/docs/about.md b/v2/rscg_examples_site/docs/about.md index 84206b83c..c42a944cb 100644 --- a/v2/rscg_examples_site/docs/about.md +++ b/v2/rscg_examples_site/docs/about.md @@ -6,7 +6,7 @@ title: About ## Content You will find here code examples -of 181 Roslyn Source Code Generator (RSCG) +of 182 Roslyn Source Code Generator (RSCG) that can be useful for you. That means, you will write more elegant and concise code - even if the generators code is not always nice to look. ## Are those examples ready for production? diff --git a/v2/rscg_examples_site/docs/indexRSCG.md b/v2/rscg_examples_site/docs/indexRSCG.md index 05f4cb246..86606e3df 100644 --- a/v2/rscg_examples_site/docs/indexRSCG.md +++ b/v2/rscg_examples_site/docs/indexRSCG.md @@ -10,9 +10,9 @@ import useBaseUrl from '@docusaurus/useBaseUrl';