diff --git a/README.md b/README.md
index 6d3581c03..ea427d481 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,10 @@
-# RSCG - 279 Examples of Roslyn Source Code Generators / 16 created by Microsoft /
+# RSCG - 280 Examples of Roslyn Source Code Generators / 16 created by Microsoft /
-The RSCG_Examples repository is a comprehensive documentation system that automatically processes and showcases 279 Roslyn Source Code Generator (RSCG) examples. The system transforms individual RSCG projects into structured documentation with code examples and cross-referenced content with a searchable website and code example exports.
+The RSCG_Examples repository is a comprehensive documentation system that automatically processes and showcases 280 Roslyn Source Code Generator (RSCG) examples. The system transforms individual RSCG projects into structured documentation with code examples and cross-referenced content with a searchable website and code example exports.
This system serves as both a learning resource for .NET developers interested in source generators and an automated pipeline for maintaining up-to-date documentation about the RSCG ecosystem
-## Latest Update : 2026-08-19 => 19 August 2026
+## Latest Update : 2026-08-20 => 20 August 2026
If you want to see examples with code, please click ***[List V2](https://ignatandrei.github.io/RSCG_Examples/v2/docs/List-of-RSCG)***
@@ -24,8 +24,30 @@ If you want to be notified each time I add a new RSCG example , please click htt
## Content
-Those are the 279 Roslyn Source Code Generators that I have tested you can see and download source code example.
+Those are the 280 Roslyn Source Code Generators that I have tested you can see and download source code example.
( including 16 from Microsoft )
+### 280. [serde](https://ignatandrei.github.io/RSCG_Examples/v2/docs/serde) , in the [Serializer](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#serializer) category
+
+Generated on : 2026-08-20 => 20 August 2026
+
+
+ Expand
+
+
+
+Author: Andy Gocke
+
+Package Description
+
+Nuget: [https://www.nuget.org/packages/serde/](https://www.nuget.org/packages/serde/)
+
+
+Link: [https://ignatandrei.github.io/RSCG_Examples/v2/docs/serde](https://ignatandrei.github.io/RSCG_Examples/v2/docs/serde)
+
+Source: [https://github.com/serdedotnet/serde](https://github.com/serdedotnet/serde)
+
+
+
### 279. [ReflectionIT.DisposeGenerator](https://ignatandrei.github.io/RSCG_Examples/v2/docs/ReflectionIT.DisposeGenerator) , in the [Disposer](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#disposer) category
Generated on : 2026-08-19 => 19 August 2026
diff --git a/later.md b/later.md
index c482172ea..4594e7e2b 100644
--- a/later.md
+++ b/later.md
@@ -1,6 +1,6 @@
# Just later
-## Latest Update : 2026-08-19 => 19 August 2026
+## Latest Update : 2026-08-20 => 20 August 2026
diff --git a/v2/Generator/all.csv b/v2/Generator/all.csv
index 7e51dc849..bc261094a 100644
--- a/v2/Generator/all.csv
+++ b/v2/Generator/all.csv
@@ -278,3 +278,4 @@ Nr,Key,Source,Category
277,Bennewitz.Ninja.AutoVersioning, https://github.com/JanusMael/Bennewitz.Ninja.AutoVersioning,EnhancementProject
278,Atulin.AutoDbSet, https://github.com/Atulin/AutoDbSet,EntityFramework
279,ReflectionIT.DisposeGenerator, https://github.com/sonnemaf/ReflectionIT.DisposeGenerator,Disposer
+280,serde, https://github.com/serdedotnet/serde,Serializer
diff --git a/v2/RSCGExamplesData/GeneratorDataRec.json b/v2/RSCGExamplesData/GeneratorDataRec.json
index e658bbcb6..d9457af99 100644
--- a/v2/RSCGExamplesData/GeneratorDataRec.json
+++ b/v2/RSCGExamplesData/GeneratorDataRec.json
@@ -1690,5 +1690,12 @@
"Category": 18,
"dtStart": "2026-08-19T00:00:00",
"show": true
- }
+ },
+
+{
+ "ID":"serde",
+ "Category":16,
+ "dtStart": "2026-08-20T00:00:00",
+ "show": true
+}
]
\ No newline at end of file
diff --git a/v2/book/examples/ReflectionIT.DisposeGenerator.html b/v2/book/examples/ReflectionIT.DisposeGenerator.html
index a094f2948..86c57726e 100644
--- a/v2/book/examples/ReflectionIT.DisposeGenerator.html
+++ b/v2/book/examples/ReflectionIT.DisposeGenerator.html
@@ -28,6 +28,12 @@
This was for me the starting code
I have coded the file Program.cs
+
+
+
+ I have coded the file DALDB.cs
+
+
diff --git a/v2/book/examples/serde.html b/v2/book/examples/serde.html
new file mode 100644
index 000000000..790c49db6
--- /dev/null
+++ b/v2/book/examples/serde.html
@@ -0,0 +1,69 @@
+
+RSCG nr 280 : serde
+
+Info
+Nuget : https://www.nuget.org/packages/serde/
+
+You can find more details at : https://github.com/serdedotnet/serde
+
+Author :Andy Gocke
+
+Source: https://github.com/serdedotnet/serde
+
+About
+
+Serializing in SERDE format
+
+
+ How to use
+
+
+ Add reference to the serde in the csproj
+
+
+
+This was for me the starting code
+
+
+ I have coded the file Program.cs
+
+
+
+
+
+ I have coded the file Person.cs
+
+
+
+ And here are the generated files
+
+
+ The file generated is SerializerDemo.Person.ISerde.g.cs
+
+
+
+
+ The file generated is SerializerDemo.Person.ISerdeInfoProvider.g.cs
+
+
+
+
+ The file generated is SerializerDemo.Person.ISerdeProvider.g.cs
+
+
+
+
+ You can download the code and this page as pdf from
+
+ https://ignatandrei.github.io/RSCG_Examples/v2/docs/serde
+
+
+
+
+
+ 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 e62f28c0d..2706fd551 100644
--- a/v2/book/list.html
+++ b/v2/book/list.html
@@ -17,7 +17,7 @@
-This is the list of 279 RSCG with examples =>
+This is the list of 280 RSCG with examples =>
diff --git a/v2/book/pandocHTML.yaml b/v2/book/pandocHTML.yaml
index 1b8dd70fa..9f49ca3f9 100644
--- a/v2/book/pandocHTML.yaml
+++ b/v2/book/pandocHTML.yaml
@@ -293,6 +293,7 @@ input-files:
- examples/Bennewitz.Ninja.AutoVersioning.html
- examples/Atulin.AutoDbSet.html
- examples/ReflectionIT.DisposeGenerator.html
+- examples/serde.html
# or you may use input-file: with a single value
# defaults:
diff --git a/v2/docFind.json b/v2/docFind.json
index c2e276b50..40d04a261 100644
--- a/v2/docFind.json
+++ b/v2/docFind.json
@@ -1672,5 +1672,11 @@
"category": "Disposer",
"href": "/RSCG_Examples/v2/docs/ReflectionIT.DisposeGenerator/",
"body": "Package Description"
+ },
+ {
+ "title": "serde",
+ "category": "Serializer",
+ "href": "/RSCG_Examples/v2/docs/serde/",
+ "body": "Package Description"
}
]
\ No newline at end of file
diff --git a/v2/rscg_examples/ReflectionIT.DisposeGenerator/src/.tours/ReflectionIT.DisposeGenerator.tour b/v2/rscg_examples/ReflectionIT.DisposeGenerator/src/.tours/ReflectionIT.DisposeGenerator.tour
index 3601ad15d..0b6c8b8bf 100644
--- a/v2/rscg_examples/ReflectionIT.DisposeGenerator/src/.tours/ReflectionIT.DisposeGenerator.tour
+++ b/v2/rscg_examples/ReflectionIT.DisposeGenerator/src/.tours/ReflectionIT.DisposeGenerator.tour
@@ -16,6 +16,12 @@
"pattern": "this is the code"
}
+ ,{
+ "file": "IDisp/DALDB.cs",
+ "description": "File DALDB.cs ",
+ "pattern": "this is the code"
+ }
+
,{
"file": "IDisp/Program.cs",
"description": "File Program.cs \r\n>> dotnet run --project IDisp/IDisp.csproj ",
diff --git a/v2/rscg_examples/serde/description.json b/v2/rscg_examples/serde/description.json
new file mode 100644
index 000000000..a9a987b67
--- /dev/null
+++ b/v2/rscg_examples/serde/description.json
@@ -0,0 +1,22 @@
+{
+ "generator":{
+ "name":"serde",
+ "nuget":[
+ "https://www.nuget.org/packages/serde/"
+ ],
+ "link":"https://github.com/serdedotnet/serde",
+ "author":"Andy Gocke",
+ "source":"https://github.com/serdedotnet/serde"
+ },
+ "data":{
+ "goodFor":["Serializing in SERDE format"],
+ "csprojDemo":"Serializer.csproj",
+ "csFiles":["Program.cs","Person.cs"],
+ "excludeDirectoryGenerated":[""],
+ "includeAdditionalFiles":[""]
+ },
+ "links":{
+ "blog":"",
+ "video":""
+ }
+}
\ No newline at end of file
diff --git a/v2/rscg_examples/serde/nuget.txt b/v2/rscg_examples/serde/nuget.txt
new file mode 100644
index 000000000..882e74f60
--- /dev/null
+++ b/v2/rscg_examples/serde/nuget.txt
@@ -0,0 +1 @@
+Package Description
\ No newline at end of file
diff --git a/v2/rscg_examples/serde/readme.txt b/v2/rscg_examples/serde/readme.txt
new file mode 100644
index 000000000..455e056c2
--- /dev/null
+++ b/v2/rscg_examples/serde/readme.txt
@@ -0,0 +1,40 @@
+# Serde.NET
+
+Serde.NET is a port of the popular [serde.rs](https://serde.rs) Rust ***ser***ialization/***de***serialization
+library to .NET.
+
+For an overview, see [Overview](https://serdedotnet.github.io/overview.html).
+
+Start by adding the `serde` NuGet package:
+
+```bash
+dotnet add package serde
+```
+
+To generate serialization/deserialization info for a type, now do the following:
+1. Mark the type partial
+2. Add the `[GenerateSerde]` attribute
+
+
+```csharp
+using Serde;
+using Serde.Json;
+
+string output = JsonSerializer.Serialize(new SampleClass());
+
+// prints: {"X":3,"Y":"sample"}
+Console.WriteLine(output);
+
+var deserialized = JsonSerializer.Deserialize(output);
+
+// prints SampleClass { X = 3, Y = sample }
+Console.WriteLine(deserialized);
+
+[GenerateSerde]
+partial record SampleClass
+{
+ // automatically includes public properties and fields
+ public int X { get; init; } = 3;
+ public string Y = "sample";
+}
+```
diff --git a/v2/rscg_examples/serde/src/.tours/serde.tour b/v2/rscg_examples/serde/src/.tours/serde.tour
new file mode 100644
index 000000000..8d7c7a0c8
--- /dev/null
+++ b/v2/rscg_examples/serde/src/.tours/serde.tour
@@ -0,0 +1,48 @@
+
+{
+ "$schema": "https://aka.ms/codetour-schema",
+ "title": "serde",
+ "steps":
+ [
+ {
+ "file": "Serializer/Serializer.csproj",
+ "description": "First, we add Nuget [serde](https://www.nuget.org/packages/serde/) in csproj ",
+ "pattern": "serde"
+ }
+
+ ,{
+ "file": "Serializer/Person.cs",
+ "description": "File Person.cs ",
+ "pattern": "this is the code"
+ }
+
+ ,{
+ "file": "Serializer/Program.cs",
+ "description": "File Program.cs \r\n>> dotnet run --project Serializer/Serializer.csproj ",
+ "pattern": "this is the code"
+ }
+
+
+ ,{
+ "file": "Serializer/obj/GX/SerdeGenerator/Serde.SerdeImplRoslynGenerator/SerializerDemo.Person.ISerdeProvider.g.cs",
+ "description": "Generated File 3 from 3 : SerializerDemo.Person.ISerdeProvider.g.cs ",
+ "line": 1
+ }
+
+ ,{
+ "file": "Serializer/obj/GX/SerdeGenerator/Serde.SerdeImplRoslynGenerator/SerializerDemo.Person.ISerdeInfoProvider.g.cs",
+ "description": "Generated File 2 from 3 : SerializerDemo.Person.ISerdeInfoProvider.g.cs ",
+ "line": 1
+ }
+
+ ,{
+ "file": "Serializer/obj/GX/SerdeGenerator/Serde.SerdeImplRoslynGenerator/SerializerDemo.Person.ISerde.g.cs",
+ "description": "Generated File 1 from 3 : SerializerDemo.Person.ISerde.g.cs ",
+ "line": 1
+ }
+
+ ],
+
+ "ref": "main"
+
+}
\ No newline at end of file
diff --git a/v2/rscg_examples/serde/src/Serializer.sln b/v2/rscg_examples/serde/src/Serializer.sln
new file mode 100644
index 000000000..40466f7c7
--- /dev/null
+++ b/v2/rscg_examples/serde/src/Serializer.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.7.34031.279
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Serializer", "Serializer\Serializer.csproj", "{7FC58895-BFD9-892B-A3D5-1812858E3D58}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {7FC58895-BFD9-892B-A3D5-1812858E3D58}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7FC58895-BFD9-892B-A3D5-1812858E3D58}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7FC58895-BFD9-892B-A3D5-1812858E3D58}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7FC58895-BFD9-892B-A3D5-1812858E3D58}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {13C14387-12AE-4C73-9EBA-2D145CD7C194}
+ EndGlobalSection
+EndGlobal
diff --git a/v2/rscg_examples/serde/src/Serializer/Person.cs b/v2/rscg_examples/serde/src/Serializer/Person.cs
new file mode 100644
index 000000000..f73fe75d3
--- /dev/null
+++ b/v2/rscg_examples/serde/src/Serializer/Person.cs
@@ -0,0 +1,13 @@
+
+using Serde;
+
+namespace SerializerDemo;
+
+[GenerateSerde]
+public partial class Person
+{
+ public int Age { get; set; }
+ public string Name { get; set; } = string.Empty;
+
+}
+
diff --git a/v2/rscg_examples/serde/src/Serializer/Program.cs b/v2/rscg_examples/serde/src/Serializer/Program.cs
new file mode 100644
index 000000000..3734c36c2
--- /dev/null
+++ b/v2/rscg_examples/serde/src/Serializer/Program.cs
@@ -0,0 +1,9 @@
+using Serde.Json;
+using SerializerDemo;
+
+Person p = new () { Name= "Andrei Ignat" , Age=55};
+var utf8= JsonSerializer.Serialize(p);
+Console.WriteLine(utf8);
+var p1 = JsonSerializer.Deserialize(utf8);
+Console.WriteLine(p.Name);
+Console.WriteLine(p1.Age);
\ No newline at end of file
diff --git a/v2/rscg_examples/serde/src/Serializer/Serializer.csproj b/v2/rscg_examples/serde/src/Serializer/Serializer.csproj
new file mode 100644
index 000000000..656441d26
--- /dev/null
+++ b/v2/rscg_examples/serde/src/Serializer/Serializer.csproj
@@ -0,0 +1,17 @@
+
+
+
+ Exe
+ net10.0
+ enable
+ enable
+
+
+ true
+ $(BaseIntermediateOutputPath)\GX
+
+
+
+
+
+
diff --git a/v2/rscg_examples/serde/video.json b/v2/rscg_examples/serde/video.json
new file mode 100644
index 000000000..9a2470715
--- /dev/null
+++ b/v2/rscg_examples/serde/video.json
@@ -0,0 +1,39 @@
+{
+ "scriptName": "serde",
+ "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 serde . Serializing in SERDE format ."},
+{"typeStep":"browser","arg":"https://www.nuget.org/packages/serde/"},
+{"typeStep":"text","arg": "The whole example is here"},
+{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/serde"},
+{"typeStep":"text","arg": "You can download the code from here"},
+{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/serde#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\\serde\\src\\Serializer.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\\serde\\src"},
+
+{"typeStep":"text","arg": "To use it ,you will put the Nuget serde into the csproj "},
+
+{"typeStep":"stepvscode","arg": "-r -g D:\\gth\\RSCG_Examples\\v2\\rscg_examples\\serde\\src\\Serializer\\Serializer.csproj"},
+
+{"typeStep":"text","arg": "And now I will show you an example of using serde"},
+
+{"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":"Serializer.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/serde#download-example-net--c-",
+SpeakTest=" "},
+{"typeStep":"waitseconds","arg":"30"},
+]
+}
diff --git a/v2/rscg_examples_site/docs/Authors/Andy_Gocke.md b/v2/rscg_examples_site/docs/Authors/Andy_Gocke.md
new file mode 100644
index 000000000..f2488886c
--- /dev/null
+++ b/v2/rscg_examples_site/docs/Authors/Andy_Gocke.md
@@ -0,0 +1,7 @@
+# Author : Andy Gocke
+
+Number RSCG: 1
+
+
+ 1 [serde](/docs/serde) [](https://www.nuget.org/packages/serde/)  2026-08-20
+
diff --git a/v2/rscg_examples_site/docs/Categories/Serializer.md b/v2/rscg_examples_site/docs/Categories/Serializer.md
index 60ca9d208..f2d86688a 100644
--- a/v2/rscg_examples_site/docs/Categories/Serializer.md
+++ b/v2/rscg_examples_site/docs/Categories/Serializer.md
@@ -1,6 +1,6 @@
Serializer
-Number RSCG: 10
+Number RSCG: 11
1 [Csvcsharp](/docs/Csvcsharp) [](https://www.nuget.org/packages/Csvcsharp/)  2025-10-05
@@ -16,9 +16,11 @@ Number RSCG: 10
7 [Schema](/docs/Schema) [](https://www.nuget.org/packages/Schema/)  2025-08-13
- 8 [StackXML](/docs/StackXML) [](https://www.nuget.org/packages/StackXML/)  2025-08-01
+ 8 [serde](/docs/serde) [](https://www.nuget.org/packages/serde/)  2026-08-20
- 9 [System.Text.Json](/docs/System.Text.Json) [](https://www.nuget.org/packages/System.Text.Json/)  2023-04-16
+ 9 [StackXML](/docs/StackXML) [](https://www.nuget.org/packages/StackXML/)  2025-08-01
- 10 [VYaml](/docs/VYaml) [](https://www.nuget.org/packages/VYaml/)  2025-10-03
+ 10 [System.Text.Json](/docs/System.Text.Json) [](https://www.nuget.org/packages/System.Text.Json/)  2023-04-16
+
+ 11 [VYaml](/docs/VYaml) [](https://www.nuget.org/packages/VYaml/)  2025-10-03
\ No newline at end of file
diff --git a/v2/rscg_examples_site/docs/Categories/_PrimitiveSerializer.mdx b/v2/rscg_examples_site/docs/Categories/_PrimitiveSerializer.mdx
index 462a22290..77e2941b8 100644
--- a/v2/rscg_examples_site/docs/Categories/_PrimitiveSerializer.mdx
+++ b/v2/rscg_examples_site/docs/Categories/_PrimitiveSerializer.mdx
@@ -14,11 +14,13 @@
7 [Schema](/docs/Schema) [](https://www.nuget.org/packages/Schema/)  2025-08-13
- 8 [StackXML](/docs/StackXML) [](https://www.nuget.org/packages/StackXML/)  2025-08-01
+ 8 [serde](/docs/serde) [](https://www.nuget.org/packages/serde/)  2026-08-20
- 9 [System.Text.Json](/docs/System.Text.Json) [](https://www.nuget.org/packages/System.Text.Json/)  2023-04-16
+ 9 [StackXML](/docs/StackXML) [](https://www.nuget.org/packages/StackXML/)  2025-08-01
- 10 [VYaml](/docs/VYaml) [](https://www.nuget.org/packages/VYaml/)  2025-10-03
+ 10 [System.Text.Json](/docs/System.Text.Json) [](https://www.nuget.org/packages/System.Text.Json/)  2023-04-16
+
+ 11 [VYaml](/docs/VYaml) [](https://www.nuget.org/packages/VYaml/)  2025-10-03
### See category
diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/ReflectionIT.DisposeGenerator.md b/v2/rscg_examples_site/docs/RSCG-Examples/ReflectionIT.DisposeGenerator.md
index fe299cf86..736859fb4 100644
--- a/v2/rscg_examples_site/docs/RSCG-Examples/ReflectionIT.DisposeGenerator.md
+++ b/v2/rscg_examples_site/docs/RSCG-Examples/ReflectionIT.DisposeGenerator.md
@@ -605,7 +605,7 @@ This is the CSharp Project that references **ReflectionIT.DisposeGenerator**
```csharp showLineNumbers
using IDisposableGeneratorDemo;
-//https://github.com/benutomo-dev/RoslynComponents
+// https://github.com/sonnemaf/ReflectionIT.DisposeGenerator
using (var db = new DALDB())
{
Console.WriteLine("before releasing");
@@ -614,13 +614,39 @@ Console.WriteLine("after releasing");
```
-
+
- This is the use of **ReflectionIT.DisposeGenerator** in *ConnectionDB.cs*
+ This is the use of **ReflectionIT.DisposeGenerator** in *DALDB.cs*
```csharp showLineNumbers
using ReflectionIT.DisposeGenerator.Attributes;
+namespace IDisposableGeneratorDemo;
+
+[Disposable]
+partial class DALDB :IDisposable
+{
+ [Dispose]
+ private ConnectionDB cn;
+ [Dispose]
+ private ConnectionDB cn1;
+
+ public DALDB()
+ {
+ cn = new ConnectionDB();
+ cn1=new ConnectionDB();
+ }
+
+}
+
+```
+
+
+
+
+ This is the use of **ReflectionIT.DisposeGenerator** in *ConnectionDB.cs*
+
+```csharp showLineNumbers
namespace IDisposableGeneratorDemo;
class ConnectionDB : IDisposable
{
diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/index.md b/v2/rscg_examples_site/docs/RSCG-Examples/index.md
index b4b863083..af0412e29 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: 279 RSCG list by category
-description: 279 RSCG list by category
+title: 280 RSCG list by category
+description: 280 RSCG list by category
slug: /rscg-examples
---
@@ -1510,7 +1510,7 @@ import DocCardList from '@theme/DocCardList';
## Serializer
- Expand Serializer =>examples:10
+ Expand Serializer =>examples:11
@@ -1561,6 +1561,11 @@ import DocCardList from '@theme/DocCardList';
[Csvcsharp](/docs/Csvcsharp)
+
+
+
+[serde](/docs/serde)
+
@@ -2250,6 +2255,8 @@ flowchart LR;
Serializer--> Csvcsharp((Csvcsharp))
+ Serializer--> serde((serde))
+
SignalR--> TypedSignalR.Client((TypedSignalR.Client))
StateMachine--> SuperFluid((SuperFluid))
diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/serde.md b/v2/rscg_examples_site/docs/RSCG-Examples/serde.md
new file mode 100644
index 000000000..f07c8077f
--- /dev/null
+++ b/v2/rscg_examples_site/docs/RSCG-Examples/serde.md
@@ -0,0 +1,324 @@
+---
+sidebar_position: 2800
+title: 280 - serde
+description: Serializing in SERDE format
+slug: /serde
+---
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+import TOCInline from '@theme/TOCInline';
+import SameCategory from '../Categories/_PrimitiveSerializer.mdx';
+
+# serde by Andy Gocke
+
+
+
+
+## NuGet / site data
+[](https://www.nuget.org/packages/serde/)
+[](https://github.com/serdedotnet/serde)
+
+
+## Details
+
+### Info
+:::info
+
+Name: **serde**
+
+Package Description
+
+Author: Andy Gocke
+
+NuGet:
+*https://www.nuget.org/packages/serde/*
+
+
+You can find more details at https://github.com/serdedotnet/serde
+
+Source: https://github.com/serdedotnet/serde
+
+:::
+
+### Author
+:::note
+Andy Gocke
+
+:::
+
+## Original Readme
+:::note
+
+### Serde.NET
+
+Serde.NET is a port of the popular [serde.rs](https://serde.rs) Rust ***ser***ialization/***de***serialization
+library to .NET.
+
+For an overview, see [Overview](https://serdedotnet.github.io/overview.html).
+
+Start by adding the `serde` NuGet package:
+
+```bash
+dotnet add package serde
+```
+
+To generate serialization/deserialization info for a type, now do the following:
+1. Mark the type partial
+2. Add the `[GenerateSerde]` attribute
+
+
+```csharp
+using Serde;
+using Serde.Json;
+
+string output = JsonSerializer.Serialize(new SampleClass());
+
+// prints: {"X":3,"Y":"sample"}
+Console.WriteLine(output);
+
+var deserialized = JsonSerializer.Deserialize(output);
+
+// prints SampleClass \{ X = 3, Y = sample }
+Console.WriteLine(deserialized);
+
+[GenerateSerde]
+partial record SampleClass
+{
+ // automatically includes public properties and fields
+ public int X \{ get; init; \} = 3;
+ public string Y = "sample";
+}
+```
+
+
+:::
+
+### About
+:::note
+
+Serializing in SERDE format
+
+
+:::
+
+## How to use
+
+### Example (source csproj, source files)
+
+
+
+
+
+This is the CSharp Project that references **serde**
+```xml showLineNumbers {14}
+
+
+
+ Exe
+ net10.0
+ enable
+ enable
+
+
+ true
+ $(BaseIntermediateOutputPath)\GX
+
+
+
+
+
+
+
+```
+
+
+
+
+
+ This is the use of **serde** in *Program.cs*
+
+```csharp showLineNumbers
+using Serde.Json;
+using SerializerDemo;
+
+Person p = new () \{ Name= "Andrei Ignat" , Age=55};
+var utf8= JsonSerializer.Serialize(p);
+Console.WriteLine(utf8);
+var p1 = JsonSerializer.Deserialize(utf8);
+Console.WriteLine(p.Name);
+Console.WriteLine(p1.Age);
+```
+
+
+
+
+ This is the use of **serde** in *Person.cs*
+
+```csharp showLineNumbers
+
+using Serde;
+
+namespace SerializerDemo;
+
+[GenerateSerde]
+public partial class Person
+{
+ public int Age \{ get; set; }
+ public string Name \{ get; set; \} = string.Empty;
+
+}
+
+
+```
+
+
+
+
+### Generated Files
+
+Those are taken from $(BaseIntermediateOutputPath)\GX
+
+
+
+
+```csharp showLineNumbers
+
+#nullable enable
+
+using System;
+using Serde;
+
+namespace SerializerDemo;
+
+partial class Person
+{
+ sealed partial class _SerdeObj : global::Serde.ISerde
+ {
+ global::Serde.ISerdeInfo global::Serde.ISerdeInfoProvider.SerdeInfo => SerializerDemo.Person.s_serdeInfo;
+
+ void global::Serde.ISerialize.Serialize(SerializerDemo.Person value, global::Serde.ISerializer serializer)
+ {
+ var _l_info = global::Serde.SerdeInfoProvider.GetInfo(this);
+ var _l_type = serializer.WriteType(_l_info, 2);
+ _l_type.WriteI32(_l_info, 0, value.Age);
+ _l_type.WriteString(_l_info, 1, value.Name);
+ _l_type.End(_l_info);
+ }
+ SerializerDemo.Person Serde.IDeserialize.Deserialize(IDeserializer deserializer)
+ {
+ int _l_age = default!;
+ string _l_name = string.Empty;
+
+ byte _r_assignedValid = 0;
+
+ var _l_serdeInfo = global::Serde.SerdeInfoProvider.GetInfo(this);
+ var typeDeserialize = deserializer.ReadType(_l_serdeInfo);
+ while (true)
+ {
+ var (_l_index_, _) = typeDeserialize.TryReadIndexWithName(_l_serdeInfo);
+ if (_l_index_ == Serde.ITypeDeserializer.EndOfType)
+ {
+ break;
+ }
+
+ switch (_l_index_)
+ {
+ case 0:
+ Serde.DeserializeException.ThrowIfDuplicate(_r_assignedValid, 0, _l_serdeInfo);
+ _l_age = typeDeserialize.ReadI32(_l_serdeInfo, _l_index_);
+ _r_assignedValid |= ((byte)1) << 0;
+ break;
+ case 1:
+ Serde.DeserializeException.ThrowIfDuplicate(_r_assignedValid, 1, _l_serdeInfo);
+ _l_name = typeDeserialize.ReadString(_l_serdeInfo, _l_index_);
+ _r_assignedValid |= ((byte)1) << 1;
+ break;
+ case Serde.ITypeDeserializer.IndexNotFound:
+ typeDeserialize.SkipValue(_l_serdeInfo, _l_index_);
+ break;
+ default:
+ throw new InvalidOperationException("Unexpected index: " + _l_index_);
+ }
+ }
+ typeDeserialize.End(_l_serdeInfo);
+ if ((_r_assignedValid & 0b1) != 0b1)
+ {
+ throw Serde.DeserializeException.UnassignedMember();
+ }
+ var newType = new SerializerDemo.Person() {
+ Age = _l_age,
+ Name = _l_name,
+ };
+
+ return newType;
+ }
+ }
+}
+
+```
+
+
+
+
+```csharp showLineNumbers
+
+#nullable enable
+
+namespace SerializerDemo;
+
+partial class Person
+{
+ private static global::Serde.ISerdeInfo s_serdeInfo = Serde.SerdeInfo.MakeCustom(
+ "Person",
+ typeof(SerializerDemo.Person).GetCustomAttributesData(),
+ new global::Serde.SerdeInfo.FieldInfo[] {
+ new("age", global::Serde.SerdeInfoProvider.GetSerializeInfo()),
+ new("name", global::Serde.SerdeInfoProvider.GetSerializeInfo())
+ }
+ );
+}
+
+```
+
+
+
+
+```csharp showLineNumbers
+
+namespace SerializerDemo;
+
+partial class Person : Serde.ISerdeProvider
+{
+ static SerializerDemo.Person._SerdeObj global::Serde.ISerdeProvider.Instance \{ get; }
+ = new SerializerDemo.Person._SerdeObj();
+}
+
+```
+
+
+
+
+## Useful
+
+### Download Example (.NET C#)
+
+:::tip
+
+[Download Example project serde ](/sources/serde.zip)
+
+:::
+
+
+### Share serde
+
+
+
+https://ignatandrei.github.io/RSCG_Examples/v2/docs/serde
+
+
+
diff --git a/v2/rscg_examples_site/docs/about.md b/v2/rscg_examples_site/docs/about.md
index 1e2688e03..4cd50d1a5 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 279 Roslyn Source Code Generator (RSCG)
+of 280 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 bebbc18da..bbd0fd4e9 100644
--- a/v2/rscg_examples_site/docs/indexRSCG.md
+++ b/v2/rscg_examples_site/docs/indexRSCG.md
@@ -7,9 +7,9 @@ slug: /List-of-RSCG
import useBaseUrl from '@docusaurus/useBaseUrl';
-## 279 RSCG with examples in descending chronological order
+## 280 RSCG with examples in descending chronological order
-This is the list of 279 ( 16 from Microsoft) RSCG with examples
+This is the list of 280 ( 16 from Microsoft) RSCG with examples
[See by category](/docs/rscg-examples) [See as json](/exports/RSCG.json) [See as Excel](/exports/RSCG.xlsx)
@@ -20,6 +20,7 @@ This is the list of 279 ( 16 from Microsoft) RSCG with examples
| No | Name | Date | Category |
| --------- | ----- | ---- | -------- |
+|280| [serde by Andy Gocke ](/docs/serde)|2026-08-20 => 20 August 2026 | [Serializer](/docs/Categories/Serializer) |
|279| [ReflectionIT.DisposeGenerator by Fons Sonnemans ](/docs/ReflectionIT.DisposeGenerator)|2026-08-19 => 19 August 2026 | [Disposer](/docs/Categories/Disposer) |
|278| [Atulin.AutoDbSet by Angius Atulin ](/docs/Atulin.AutoDbSet)|2026-08-18 => 18 August 2026 | [EntityFramework](/docs/Categories/EntityFramework) |
|277| [Bennewitz.Ninja.AutoVersioning by Brian Bennewitz ](/docs/Bennewitz.Ninja.AutoVersioning)|2026-07-04 => 04 July 2026 | [EnhancementProject](/docs/Categories/EnhancementProject) |
diff --git a/v2/rscg_examples_site/src/components/HomepageFeatures/index.js b/v2/rscg_examples_site/src/components/HomepageFeatures/index.js
index b693194eb..88b590fad 100644
--- a/v2/rscg_examples_site/src/components/HomepageFeatures/index.js
+++ b/v2/rscg_examples_site/src/components/HomepageFeatures/index.js
@@ -4,7 +4,7 @@ import styles from './styles.module.css';
const FeatureList = [
{
-title: '279 Examples (16 from MSFT)',
+title: '280 Examples (16 from MSFT)',
Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default,
description: (
<>
diff --git a/v2/rscg_examples_site/static/exports/RSCG.json b/v2/rscg_examples_site/static/exports/RSCG.json
index 1f4eda312..ea6b0b197 100644
--- a/v2/rscg_examples_site/static/exports/RSCG.json
+++ b/v2/rscg_examples_site/static/exports/RSCG.json
@@ -2233,6 +2233,14 @@
"Source": "https://github.com/sonnemaf/ReflectionIT.DisposeGenerator",
"Category": "Disposer",
"AddedOn": "2026-08-19T00:00:00"
+ },
+ {
+ "Name": "serde",
+ "Link": "https://ignatandrei.github.io/RSCG_Examples/v2/docs/serde",
+ "NuGet": "https://www.nuget.org/packages/serde/",
+ "Source": "https://github.com/serdedotnet/serde",
+ "Category": "Serializer",
+ "AddedOn": "2026-08-20T00:00:00"
}
]
}
\ No newline at end of file
diff --git a/v2/rscg_examples_site/static/exports/RSCG.xlsx b/v2/rscg_examples_site/static/exports/RSCG.xlsx
index e33512de2..eafea8334 100644
Binary files a/v2/rscg_examples_site/static/exports/RSCG.xlsx and b/v2/rscg_examples_site/static/exports/RSCG.xlsx differ
diff --git a/v2/rscg_examples_site/static/sources/serde.zip b/v2/rscg_examples_site/static/sources/serde.zip
new file mode 100644
index 000000000..fb808a74e
Binary files /dev/null and b/v2/rscg_examples_site/static/sources/serde.zip differ