diff --git a/OOP2023/.vs/OOP2023/DesignTimeBuild/.dtbcache.v2 b/OOP2023/.vs/OOP2023/DesignTimeBuild/.dtbcache.v2
index 78c963c925a8cc225a48638079d630fdf82a7550..fbe4c3c81dc3464103e5599bc99c9718a36da86a 100644
Binary files a/OOP2023/.vs/OOP2023/DesignTimeBuild/.dtbcache.v2 and b/OOP2023/.vs/OOP2023/DesignTimeBuild/.dtbcache.v2 differ
diff --git a/OOP2023/.vs/OOP2023/v16/.suo b/OOP2023/.vs/OOP2023/v16/.suo
index 9096ca7febd6e5b02e0e06019b57c732dcae13a7..904c39ba0d77a8788c86d9ad6fd8da2a7689ac9e 100644
Binary files a/OOP2023/.vs/OOP2023/v16/.suo and b/OOP2023/.vs/OOP2023/v16/.suo differ
diff --git a/OOP2023/01Handy/obj/Debug/netcoreapp3.1/01Handy.csproj.AssemblyReference.cache b/OOP2023/01Handy/obj/Debug/netcoreapp3.1/01Handy.csproj.AssemblyReference.cache
index f5e894aea93a73e58fa9d4feab241bc197ee1a40..3bee885b9c47984a4330cda47e969901caedc416 100644
Binary files a/OOP2023/01Handy/obj/Debug/netcoreapp3.1/01Handy.csproj.AssemblyReference.cache and b/OOP2023/01Handy/obj/Debug/netcoreapp3.1/01Handy.csproj.AssemblyReference.cache differ
diff --git a/OOP2023/01Personalausweis/obj/Debug/netcoreapp3.1/01Personalausweis.csproj.AssemblyReference.cache b/OOP2023/01Personalausweis/obj/Debug/netcoreapp3.1/01Personalausweis.csproj.AssemblyReference.cache
index f5e894aea93a73e58fa9d4feab241bc197ee1a40..3bee885b9c47984a4330cda47e969901caedc416 100644
Binary files a/OOP2023/01Personalausweis/obj/Debug/netcoreapp3.1/01Personalausweis.csproj.AssemblyReference.cache and b/OOP2023/01Personalausweis/obj/Debug/netcoreapp3.1/01Personalausweis.csproj.AssemblyReference.cache differ
diff --git a/OOP2023/02 OpUeberladenBrueche/Program.cs b/OOP2023/02 OpUeberladenBrueche/Program.cs
index 09674dea7155b8da03cc02fde3a0e2911021b183..4298e72fd1be5b5b0682d0074a2ab43d255fb488 100644
--- a/OOP2023/02 OpUeberladenBrueche/Program.cs	
+++ b/OOP2023/02 OpUeberladenBrueche/Program.cs	
@@ -36,10 +36,10 @@ namespace _02_OpUeberladenBrueche
         public static bool operator !=(Bruch b1, Bruch b2)
             => !(b1 == b2);
 
-        public static implicit operator Bruch(int k) => new Bruch(k);
+        public static implicit operator Bruch(int k) => new Bruch(k); // 2 -> 2/1
             // Konvertierung int --> Bruch
-        public static explicit operator int(Bruch b) => b.z/b.n;
-        public static implicit operator Bruch(string s)
+        public static explicit operator int(Bruch b) => b.z/b.n;  // z.B. 2/3 --> 0
+        public static implicit operator Bruch(string s)           // z.B. "1/3" -> 1/3
         {
             string[] d = s.Split('/');
             int z = Convert.ToInt32(d[0]);
@@ -72,7 +72,7 @@ namespace _02_OpUeberladenBrueche
             Console.WriteLine(Bruch.Mult3(b1,b2));
             // b1*b2 --> Bruch.ToString() --> Ausgabe
 
-            int d = (int) (3.14 + 3);
+            int d = (int) 3.14;
 
             g(2, 3.14);
             g(2,  3);          // Implizite Konvertierung 3 --> 3.0
diff --git a/OOP2023/16 IntroVererbung/obj/Debug/netcoreapp3.1/16 IntroVererbung.csproj.AssemblyReference.cache b/OOP2023/16 IntroVererbung/obj/Debug/netcoreapp3.1/16 IntroVererbung.csproj.AssemblyReference.cache
index 3bee885b9c47984a4330cda47e969901caedc416..f5e894aea93a73e58fa9d4feab241bc197ee1a40 100644
Binary files a/OOP2023/16 IntroVererbung/obj/Debug/netcoreapp3.1/16 IntroVererbung.csproj.AssemblyReference.cache and b/OOP2023/16 IntroVererbung/obj/Debug/netcoreapp3.1/16 IntroVererbung.csproj.AssemblyReference.cache differ
diff --git a/OOP2023/17 KFZ_PKW_mini/obj/Debug/netcoreapp3.1/17 KFZ_PKW_mini.csproj.AssemblyReference.cache b/OOP2023/17 KFZ_PKW_mini/obj/Debug/netcoreapp3.1/17 KFZ_PKW_mini.csproj.AssemblyReference.cache
index 3bee885b9c47984a4330cda47e969901caedc416..f5e894aea93a73e58fa9d4feab241bc197ee1a40 100644
Binary files a/OOP2023/17 KFZ_PKW_mini/obj/Debug/netcoreapp3.1/17 KFZ_PKW_mini.csproj.AssemblyReference.cache and b/OOP2023/17 KFZ_PKW_mini/obj/Debug/netcoreapp3.1/17 KFZ_PKW_mini.csproj.AssemblyReference.cache differ
diff --git a/OOP2023/18 IComparable/obj/Debug/netcoreapp3.1/18 IComparable.csproj.AssemblyReference.cache b/OOP2023/18 IComparable/obj/Debug/netcoreapp3.1/18 IComparable.csproj.AssemblyReference.cache
index 3bee885b9c47984a4330cda47e969901caedc416..f5e894aea93a73e58fa9d4feab241bc197ee1a40 100644
Binary files a/OOP2023/18 IComparable/obj/Debug/netcoreapp3.1/18 IComparable.csproj.AssemblyReference.cache and b/OOP2023/18 IComparable/obj/Debug/netcoreapp3.1/18 IComparable.csproj.AssemblyReference.cache differ
diff --git a/OOP2023/22 Informationsverteiler/Program.cs b/OOP2023/22 Informationsverteiler/Program.cs
index 5ba35c57f29f951f1fd0f87c2b1747321e295632..3d9085113229ef92288d1e8489e005e91c431945 100644
--- a/OOP2023/22 Informationsverteiler/Program.cs	
+++ b/OOP2023/22 Informationsverteiler/Program.cs	
@@ -37,6 +37,7 @@ namespace _22_Informationsverteiler
             mb.callback += p1.MyPrint;
             mb.callback += p2.MyPrint;
 
+            // mb.callback("Hallo");  -- ist nicht erlaubt. Nur Methoden in der Klasse MessageBox dürfen callback aufrufen
             mb.Send("Hallo");
             Console.WriteLine("------------------");
 
diff --git a/OOP2023/23 ApplyAll/obj/Debug/netcoreapp3.1/23 ApplyAll.csproj.AssemblyReference.cache b/OOP2023/23 ApplyAll/obj/Debug/netcoreapp3.1/23 ApplyAll.csproj.AssemblyReference.cache
new file mode 100644
index 0000000000000000000000000000000000000000..3bee885b9c47984a4330cda47e969901caedc416
Binary files /dev/null and b/OOP2023/23 ApplyAll/obj/Debug/netcoreapp3.1/23 ApplyAll.csproj.AssemblyReference.cache differ
diff --git a/OOP2023/23 DataDriven/obj/Debug/netcoreapp3.1/23 DataDriven.csproj.AssemblyReference.cache b/OOP2023/23 DataDriven/obj/Debug/netcoreapp3.1/23 DataDriven.csproj.AssemblyReference.cache
index f5e894aea93a73e58fa9d4feab241bc197ee1a40..3bee885b9c47984a4330cda47e969901caedc416 100644
Binary files a/OOP2023/23 DataDriven/obj/Debug/netcoreapp3.1/23 DataDriven.csproj.AssemblyReference.cache and b/OOP2023/23 DataDriven/obj/Debug/netcoreapp3.1/23 DataDriven.csproj.AssemblyReference.cache differ
diff --git a/OOP2023/24 DelegateVerkettung/24 DelegateVerkettung.csproj b/OOP2023/24 DelegateVerkettung/24 DelegateVerkettung.csproj
new file mode 100644
index 0000000000000000000000000000000000000000..a741caebedbf731491b252024d9237a654366f1e
--- /dev/null
+++ b/OOP2023/24 DelegateVerkettung/24 DelegateVerkettung.csproj	
@@ -0,0 +1,9 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <OutputType>Exe</OutputType>
+    <TargetFramework>netcoreapp3.1</TargetFramework>
+    <RootNamespace>_24_DelegateVerkettung</RootNamespace>
+  </PropertyGroup>
+
+</Project>
diff --git a/OOP2023/24 DelegateVerkettung/Program.cs b/OOP2023/24 DelegateVerkettung/Program.cs
new file mode 100644
index 0000000000000000000000000000000000000000..25df79fe78612c78de99ec4a89522a77555223ab
--- /dev/null
+++ b/OOP2023/24 DelegateVerkettung/Program.cs	
@@ -0,0 +1,23 @@
+using System;
+
+namespace _24_DelegateVerkettung
+{
+    public delegate double MyFunction(double x);
+    class MyClass
+    {
+        public static double MalEins(double x) { Console.WriteLine($"MalEins({x}): "); return x * 1; }
+        public static double MalZwei(double x) { Console.WriteLine($"MalZwei({x}): "); return x * 2; }
+        public static double MalDrei(double x) { Console.WriteLine($"MalDrei({x}): "); return x * 3; }
+    }
+    class Program
+    {
+        static void Main(string[] args)
+        {
+            MyClass m = new MyClass();
+            MyFunction f = new MyFunction(MyClass.MalEins);
+            f += MyClass.MalZwei;
+            f += MyClass.MalDrei;
+            Console.WriteLine(f(3));
+        }
+    }
+}
diff --git a/OOP2023/24 DelegateVerkettung/bin/Debug/netcoreapp3.1/24 DelegateVerkettung.deps.json b/OOP2023/24 DelegateVerkettung/bin/Debug/netcoreapp3.1/24 DelegateVerkettung.deps.json
new file mode 100644
index 0000000000000000000000000000000000000000..12d0c1603f17ec3dff358c98ca51f2565b7649cc
--- /dev/null
+++ b/OOP2023/24 DelegateVerkettung/bin/Debug/netcoreapp3.1/24 DelegateVerkettung.deps.json	
@@ -0,0 +1,23 @@
+{
+  "runtimeTarget": {
+    "name": ".NETCoreApp,Version=v3.1",
+    "signature": ""
+  },
+  "compilationOptions": {},
+  "targets": {
+    ".NETCoreApp,Version=v3.1": {
+      "24 DelegateVerkettung/1.0.0": {
+        "runtime": {
+          "24 DelegateVerkettung.dll": {}
+        }
+      }
+    }
+  },
+  "libraries": {
+    "24 DelegateVerkettung/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    }
+  }
+}
\ No newline at end of file
diff --git a/OOP2023/24 DelegateVerkettung/bin/Debug/netcoreapp3.1/24 DelegateVerkettung.dll b/OOP2023/24 DelegateVerkettung/bin/Debug/netcoreapp3.1/24 DelegateVerkettung.dll
new file mode 100644
index 0000000000000000000000000000000000000000..4da64a586342f3732d6f7247687a610755bac39f
Binary files /dev/null and b/OOP2023/24 DelegateVerkettung/bin/Debug/netcoreapp3.1/24 DelegateVerkettung.dll differ
diff --git a/OOP2023/24 DelegateVerkettung/bin/Debug/netcoreapp3.1/24 DelegateVerkettung.exe b/OOP2023/24 DelegateVerkettung/bin/Debug/netcoreapp3.1/24 DelegateVerkettung.exe
new file mode 100644
index 0000000000000000000000000000000000000000..d4a4579f96478704ab92dc724f0ec1d1827ae477
Binary files /dev/null and b/OOP2023/24 DelegateVerkettung/bin/Debug/netcoreapp3.1/24 DelegateVerkettung.exe differ
diff --git a/OOP2023/24 DelegateVerkettung/bin/Debug/netcoreapp3.1/24 DelegateVerkettung.pdb b/OOP2023/24 DelegateVerkettung/bin/Debug/netcoreapp3.1/24 DelegateVerkettung.pdb
new file mode 100644
index 0000000000000000000000000000000000000000..95bb9c3c2344d11f625e99b677ae5c33f8d01c88
Binary files /dev/null and b/OOP2023/24 DelegateVerkettung/bin/Debug/netcoreapp3.1/24 DelegateVerkettung.pdb differ
diff --git a/OOP2023/24 DelegateVerkettung/bin/Debug/netcoreapp3.1/24 DelegateVerkettung.runtimeconfig.dev.json b/OOP2023/24 DelegateVerkettung/bin/Debug/netcoreapp3.1/24 DelegateVerkettung.runtimeconfig.dev.json
new file mode 100644
index 0000000000000000000000000000000000000000..3becea41545888f98131d88ad51766e8ddde3bce
--- /dev/null
+++ b/OOP2023/24 DelegateVerkettung/bin/Debug/netcoreapp3.1/24 DelegateVerkettung.runtimeconfig.dev.json	
@@ -0,0 +1,8 @@
+{
+  "runtimeOptions": {
+    "additionalProbingPaths": [
+      "C:\\Users\\wienkop\\.dotnet\\store\\|arch|\\|tfm|",
+      "C:\\Users\\wienkop\\.nuget\\packages"
+    ]
+  }
+}
\ No newline at end of file
diff --git a/OOP2023/24 DelegateVerkettung/bin/Debug/netcoreapp3.1/24 DelegateVerkettung.runtimeconfig.json b/OOP2023/24 DelegateVerkettung/bin/Debug/netcoreapp3.1/24 DelegateVerkettung.runtimeconfig.json
new file mode 100644
index 0000000000000000000000000000000000000000..bc456d7868bb54ec1809da30e339cd43f0a8a09c
--- /dev/null
+++ b/OOP2023/24 DelegateVerkettung/bin/Debug/netcoreapp3.1/24 DelegateVerkettung.runtimeconfig.json	
@@ -0,0 +1,9 @@
+{
+  "runtimeOptions": {
+    "tfm": "netcoreapp3.1",
+    "framework": {
+      "name": "Microsoft.NETCore.App",
+      "version": "3.1.0"
+    }
+  }
+}
\ No newline at end of file
diff --git a/OOP2023/24 DelegateVerkettung/obj/24 DelegateVerkettung.csproj.nuget.dgspec.json b/OOP2023/24 DelegateVerkettung/obj/24 DelegateVerkettung.csproj.nuget.dgspec.json
new file mode 100644
index 0000000000000000000000000000000000000000..6d34da540f17c0c36705e3ae190053b273da67e0
--- /dev/null
+++ b/OOP2023/24 DelegateVerkettung/obj/24 DelegateVerkettung.csproj.nuget.dgspec.json	
@@ -0,0 +1,62 @@
+{
+  "format": 1,
+  "restore": {
+    "C:\\Users\\wienkop\\source\\repos\\oop-ss2023-wienkop\\OOP2023\\24 DelegateVerkettung\\24 DelegateVerkettung.csproj": {}
+  },
+  "projects": {
+    "C:\\Users\\wienkop\\source\\repos\\oop-ss2023-wienkop\\OOP2023\\24 DelegateVerkettung\\24 DelegateVerkettung.csproj": {
+      "version": "1.0.0",
+      "restore": {
+        "projectUniqueName": "C:\\Users\\wienkop\\source\\repos\\oop-ss2023-wienkop\\OOP2023\\24 DelegateVerkettung\\24 DelegateVerkettung.csproj",
+        "projectName": "24 DelegateVerkettung",
+        "projectPath": "C:\\Users\\wienkop\\source\\repos\\oop-ss2023-wienkop\\OOP2023\\24 DelegateVerkettung\\24 DelegateVerkettung.csproj",
+        "packagesPath": "C:\\Users\\wienkop\\.nuget\\packages\\",
+        "outputPath": "C:\\Users\\wienkop\\source\\repos\\oop-ss2023-wienkop\\OOP2023\\24 DelegateVerkettung\\obj\\",
+        "projectStyle": "PackageReference",
+        "configFilePaths": [
+          "C:\\Users\\wienkop\\AppData\\Roaming\\NuGet\\NuGet.Config",
+          "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+        ],
+        "originalTargetFrameworks": [
+          "netcoreapp3.1"
+        ],
+        "sources": {
+          "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+          "https://api.nuget.org/v3/index.json": {}
+        },
+        "frameworks": {
+          "netcoreapp3.1": {
+            "targetAlias": "netcoreapp3.1",
+            "projectReferences": {}
+          }
+        },
+        "warningProperties": {
+          "warnAsError": [
+            "NU1605"
+          ]
+        }
+      },
+      "frameworks": {
+        "netcoreapp3.1": {
+          "targetAlias": "netcoreapp3.1",
+          "imports": [
+            "net461",
+            "net462",
+            "net47",
+            "net471",
+            "net472",
+            "net48"
+          ],
+          "assetTargetFallback": true,
+          "warn": true,
+          "frameworkReferences": {
+            "Microsoft.NETCore.App": {
+              "privateAssets": "all"
+            }
+          },
+          "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.416\\RuntimeIdentifierGraph.json"
+        }
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/OOP2023/24 DelegateVerkettung/obj/24 DelegateVerkettung.csproj.nuget.g.props b/OOP2023/24 DelegateVerkettung/obj/24 DelegateVerkettung.csproj.nuget.g.props
new file mode 100644
index 0000000000000000000000000000000000000000..5b80f2c625db53897a75e845623625fa11c5415c
--- /dev/null
+++ b/OOP2023/24 DelegateVerkettung/obj/24 DelegateVerkettung.csproj.nuget.g.props	
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
+    <RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
+    <RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
+    <ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
+    <NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
+    <NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\wienkop\.nuget\packages\</NuGetPackageFolders>
+    <NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
+    <NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">5.11.2</NuGetToolVersion>
+  </PropertyGroup>
+  <ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
+    <SourceRoot Include="C:\Users\wienkop\.nuget\packages\" />
+  </ItemGroup>
+  <PropertyGroup>
+    <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/OOP2023/24 DelegateVerkettung/obj/24 DelegateVerkettung.csproj.nuget.g.targets b/OOP2023/24 DelegateVerkettung/obj/24 DelegateVerkettung.csproj.nuget.g.targets
new file mode 100644
index 0000000000000000000000000000000000000000..53cfaa19b16f3769b2bfc33db3b5c0053c16fdba
--- /dev/null
+++ b/OOP2023/24 DelegateVerkettung/obj/24 DelegateVerkettung.csproj.nuget.g.targets	
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs b/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ad8dfe1a6310302587a2d0c0111d81b250eb4105
--- /dev/null
+++ b/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs	
@@ -0,0 +1,4 @@
+// <autogenerated />
+using System;
+using System.Reflection;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v3.1", FrameworkDisplayName = "")]
diff --git a/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/24 DelegateVerkettung.AssemblyInfo.cs b/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/24 DelegateVerkettung.AssemblyInfo.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ad9ea91a7fc1a4d60a1e7c36e4ba6ab177b97786
--- /dev/null
+++ b/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/24 DelegateVerkettung.AssemblyInfo.cs	
@@ -0,0 +1,23 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     Dieser Code wurde von einem Tool generiert.
+//     Laufzeitversion:4.0.30319.42000
+//
+//     Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
+//     der Code erneut generiert wird.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+using System;
+using System.Reflection;
+
+[assembly: System.Reflection.AssemblyCompanyAttribute("24 DelegateVerkettung")]
+[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
+[assembly: System.Reflection.AssemblyProductAttribute("24 DelegateVerkettung")]
+[assembly: System.Reflection.AssemblyTitleAttribute("24 DelegateVerkettung")]
+[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
+
+// Von der MSBuild WriteCodeFragment-Klasse generiert.
+
diff --git a/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/24 DelegateVerkettung.AssemblyInfoInputs.cache b/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/24 DelegateVerkettung.AssemblyInfoInputs.cache
new file mode 100644
index 0000000000000000000000000000000000000000..d91612436532a9a3c2bbd9f47643ef2163fe3ccb
--- /dev/null
+++ b/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/24 DelegateVerkettung.AssemblyInfoInputs.cache	
@@ -0,0 +1 @@
+ba5d5c455cbbc4cbbd0932370b8dec804ba63811
diff --git a/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/24 DelegateVerkettung.GeneratedMSBuildEditorConfig.editorconfig b/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/24 DelegateVerkettung.GeneratedMSBuildEditorConfig.editorconfig
new file mode 100644
index 0000000000000000000000000000000000000000..1be20742f5d84257a900cd915efdc3339dd206f8
--- /dev/null
+++ b/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/24 DelegateVerkettung.GeneratedMSBuildEditorConfig.editorconfig	
@@ -0,0 +1,3 @@
+is_global = true
+build_property.RootNamespace = _24_DelegateVerkettung
+build_property.ProjectDir = C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\24 DelegateVerkettung\
diff --git a/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/24 DelegateVerkettung.assets.cache b/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/24 DelegateVerkettung.assets.cache
new file mode 100644
index 0000000000000000000000000000000000000000..841e42684062be65bbcb0f6d46d2bb5651abb332
Binary files /dev/null and b/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/24 DelegateVerkettung.assets.cache differ
diff --git a/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/24 DelegateVerkettung.csproj.CoreCompileInputs.cache b/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/24 DelegateVerkettung.csproj.CoreCompileInputs.cache
new file mode 100644
index 0000000000000000000000000000000000000000..13a616543bdf69ae24455c2d6de7604e5b2087f8
--- /dev/null
+++ b/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/24 DelegateVerkettung.csproj.CoreCompileInputs.cache	
@@ -0,0 +1 @@
+7d1831ba190c10fe11c35318c91553559ee82fcb
diff --git a/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/24 DelegateVerkettung.csproj.FileListAbsolute.txt b/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/24 DelegateVerkettung.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000000000000000000000000000000000000..52518097fffbc1a2b99a54d2bb84c5b62fa0cca1
--- /dev/null
+++ b/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/24 DelegateVerkettung.csproj.FileListAbsolute.txt	
@@ -0,0 +1,13 @@
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\24 DelegateVerkettung\bin\Debug\netcoreapp3.1\24 DelegateVerkettung.exe
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\24 DelegateVerkettung\bin\Debug\netcoreapp3.1\24 DelegateVerkettung.deps.json
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\24 DelegateVerkettung\bin\Debug\netcoreapp3.1\24 DelegateVerkettung.runtimeconfig.json
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\24 DelegateVerkettung\bin\Debug\netcoreapp3.1\24 DelegateVerkettung.runtimeconfig.dev.json
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\24 DelegateVerkettung\bin\Debug\netcoreapp3.1\24 DelegateVerkettung.dll
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\24 DelegateVerkettung\bin\Debug\netcoreapp3.1\24 DelegateVerkettung.pdb
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\24 DelegateVerkettung\obj\Debug\netcoreapp3.1\24 DelegateVerkettung.GeneratedMSBuildEditorConfig.editorconfig
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\24 DelegateVerkettung\obj\Debug\netcoreapp3.1\24 DelegateVerkettung.AssemblyInfoInputs.cache
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\24 DelegateVerkettung\obj\Debug\netcoreapp3.1\24 DelegateVerkettung.AssemblyInfo.cs
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\24 DelegateVerkettung\obj\Debug\netcoreapp3.1\24 DelegateVerkettung.csproj.CoreCompileInputs.cache
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\24 DelegateVerkettung\obj\Debug\netcoreapp3.1\24 DelegateVerkettung.dll
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\24 DelegateVerkettung\obj\Debug\netcoreapp3.1\24 DelegateVerkettung.pdb
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\24 DelegateVerkettung\obj\Debug\netcoreapp3.1\24 DelegateVerkettung.genruntimeconfig.cache
diff --git a/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/24 DelegateVerkettung.dll b/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/24 DelegateVerkettung.dll
new file mode 100644
index 0000000000000000000000000000000000000000..4da64a586342f3732d6f7247687a610755bac39f
Binary files /dev/null and b/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/24 DelegateVerkettung.dll differ
diff --git a/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/24 DelegateVerkettung.genruntimeconfig.cache b/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/24 DelegateVerkettung.genruntimeconfig.cache
new file mode 100644
index 0000000000000000000000000000000000000000..8354f0c888b64d065f43fbfcb8820393583d3269
--- /dev/null
+++ b/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/24 DelegateVerkettung.genruntimeconfig.cache	
@@ -0,0 +1 @@
+5c2b7ce3816f404b1b252fb585d0de5e7d47f0dd
diff --git a/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/24 DelegateVerkettung.pdb b/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/24 DelegateVerkettung.pdb
new file mode 100644
index 0000000000000000000000000000000000000000..95bb9c3c2344d11f625e99b677ae5c33f8d01c88
Binary files /dev/null and b/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/24 DelegateVerkettung.pdb differ
diff --git a/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/apphost.exe b/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/apphost.exe
new file mode 100644
index 0000000000000000000000000000000000000000..d4a4579f96478704ab92dc724f0ec1d1827ae477
Binary files /dev/null and b/OOP2023/24 DelegateVerkettung/obj/Debug/netcoreapp3.1/apphost.exe differ
diff --git a/OOP2023/24 DelegateVerkettung/obj/project.assets.json b/OOP2023/24 DelegateVerkettung/obj/project.assets.json
new file mode 100644
index 0000000000000000000000000000000000000000..09b03aaf48462c475c7498e64495badda9ff9444
--- /dev/null
+++ b/OOP2023/24 DelegateVerkettung/obj/project.assets.json	
@@ -0,0 +1,67 @@
+{
+  "version": 3,
+  "targets": {
+    ".NETCoreApp,Version=v3.1": {}
+  },
+  "libraries": {},
+  "projectFileDependencyGroups": {
+    ".NETCoreApp,Version=v3.1": []
+  },
+  "packageFolders": {
+    "C:\\Users\\wienkop\\.nuget\\packages\\": {}
+  },
+  "project": {
+    "version": "1.0.0",
+    "restore": {
+      "projectUniqueName": "C:\\Users\\wienkop\\source\\repos\\oop-ss2023-wienkop\\OOP2023\\24 DelegateVerkettung\\24 DelegateVerkettung.csproj",
+      "projectName": "24 DelegateVerkettung",
+      "projectPath": "C:\\Users\\wienkop\\source\\repos\\oop-ss2023-wienkop\\OOP2023\\24 DelegateVerkettung\\24 DelegateVerkettung.csproj",
+      "packagesPath": "C:\\Users\\wienkop\\.nuget\\packages\\",
+      "outputPath": "C:\\Users\\wienkop\\source\\repos\\oop-ss2023-wienkop\\OOP2023\\24 DelegateVerkettung\\obj\\",
+      "projectStyle": "PackageReference",
+      "configFilePaths": [
+        "C:\\Users\\wienkop\\AppData\\Roaming\\NuGet\\NuGet.Config",
+        "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+      ],
+      "originalTargetFrameworks": [
+        "netcoreapp3.1"
+      ],
+      "sources": {
+        "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+        "https://api.nuget.org/v3/index.json": {}
+      },
+      "frameworks": {
+        "netcoreapp3.1": {
+          "targetAlias": "netcoreapp3.1",
+          "projectReferences": {}
+        }
+      },
+      "warningProperties": {
+        "warnAsError": [
+          "NU1605"
+        ]
+      }
+    },
+    "frameworks": {
+      "netcoreapp3.1": {
+        "targetAlias": "netcoreapp3.1",
+        "imports": [
+          "net461",
+          "net462",
+          "net47",
+          "net471",
+          "net472",
+          "net48"
+        ],
+        "assetTargetFallback": true,
+        "warn": true,
+        "frameworkReferences": {
+          "Microsoft.NETCore.App": {
+            "privateAssets": "all"
+          }
+        },
+        "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.416\\RuntimeIdentifierGraph.json"
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/OOP2023/24 DelegateVerkettung/obj/project.nuget.cache b/OOP2023/24 DelegateVerkettung/obj/project.nuget.cache
new file mode 100644
index 0000000000000000000000000000000000000000..063f08f15e6f8736fbda95061b531ec4026a18d7
--- /dev/null
+++ b/OOP2023/24 DelegateVerkettung/obj/project.nuget.cache	
@@ -0,0 +1,8 @@
+{
+  "version": 2,
+  "dgSpecHash": "Y60oGAv8TEzhZbLapJHTOoEKJG9+syCb3XeDo6uQw1+zfqPZUs0ug1oNcXtDrK4LkBW00bDV9OGQI3wHJ7XtzQ==",
+  "success": true,
+  "projectFilePath": "C:\\Users\\wienkop\\source\\repos\\oop-ss2023-wienkop\\OOP2023\\24 DelegateVerkettung\\24 DelegateVerkettung.csproj",
+  "expectedPackageFiles": [],
+  "logs": []
+}
\ No newline at end of file
diff --git a/OOP2023/24 Exception2016/24 Exception2016.csproj b/OOP2023/24 Exception2016/24 Exception2016.csproj
new file mode 100644
index 0000000000000000000000000000000000000000..ef759b9b14572f1ce53a9cf52b6166095430395a
--- /dev/null
+++ b/OOP2023/24 Exception2016/24 Exception2016.csproj	
@@ -0,0 +1,9 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <OutputType>Exe</OutputType>
+    <TargetFramework>netcoreapp3.1</TargetFramework>
+    <RootNamespace>_24_Exception2016</RootNamespace>
+  </PropertyGroup>
+
+</Project>
diff --git a/OOP2023/24 Exception2016/Program.cs b/OOP2023/24 Exception2016/Program.cs
new file mode 100644
index 0000000000000000000000000000000000000000..a518142085492c3fdb2b07e9d26b7611501a2ee8
--- /dev/null
+++ b/OOP2023/24 Exception2016/Program.cs	
@@ -0,0 +1,47 @@
+using System;
+
+namespace _24_Exception2016
+{
+    class Program
+    {
+        class MyClass
+        {
+            public MyClass()
+            {
+                try
+                {
+                    MyMethod();
+                    Console.Write("A");
+                }
+                catch (DivideByZeroException) { Console.Write("B"); }
+                catch (NullReferenceException) { Console.Write("C"); }
+                catch (IndexOutOfRangeException) { Console.Write("D"); }
+                catch (Exception) { Console.Write("E"); }
+                Console.Write("F");
+            }
+            public void MyClassMethod() { Console.Write(texts[0]); }
+            string[] texts;
+        }
+        static void MyMethod()
+        {
+            try
+            {
+                int[] values = new int[] { 5, 6, 7, 0 };
+                MyClass myClass = null;
+                Console.Write(values[3] / values[0]);
+                Console.Write(values[0]);
+                myClass.MyClassMethod();
+            }
+            catch (DivideByZeroException e) { Console.Write("1"); throw e; }
+            catch (IndexOutOfRangeException e) { Console.Write("2"); throw e; }
+            finally { Console.Write("3"); }
+            Console.Write("4");
+        }
+        static void Main()
+        {
+            MyClass myClass = new MyClass();
+            myClass.MyClassMethod();
+            Console.Write("END");
+        }
+    }
+}
diff --git a/OOP2023/24 Exception2016/bin/Debug/netcoreapp3.1/24 Exception2016.deps.json b/OOP2023/24 Exception2016/bin/Debug/netcoreapp3.1/24 Exception2016.deps.json
new file mode 100644
index 0000000000000000000000000000000000000000..9f6e4aa873eb5b07e5d5c14d29f3bd4101c21f42
--- /dev/null
+++ b/OOP2023/24 Exception2016/bin/Debug/netcoreapp3.1/24 Exception2016.deps.json	
@@ -0,0 +1,23 @@
+{
+  "runtimeTarget": {
+    "name": ".NETCoreApp,Version=v3.1",
+    "signature": ""
+  },
+  "compilationOptions": {},
+  "targets": {
+    ".NETCoreApp,Version=v3.1": {
+      "24 Exception2016/1.0.0": {
+        "runtime": {
+          "24 Exception2016.dll": {}
+        }
+      }
+    }
+  },
+  "libraries": {
+    "24 Exception2016/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    }
+  }
+}
\ No newline at end of file
diff --git a/OOP2023/24 Exception2016/bin/Debug/netcoreapp3.1/24 Exception2016.dll b/OOP2023/24 Exception2016/bin/Debug/netcoreapp3.1/24 Exception2016.dll
new file mode 100644
index 0000000000000000000000000000000000000000..249cfe3d92ac4b204d99a989d11db88b8bd570ab
Binary files /dev/null and b/OOP2023/24 Exception2016/bin/Debug/netcoreapp3.1/24 Exception2016.dll differ
diff --git a/OOP2023/24 Exception2016/bin/Debug/netcoreapp3.1/24 Exception2016.exe b/OOP2023/24 Exception2016/bin/Debug/netcoreapp3.1/24 Exception2016.exe
new file mode 100644
index 0000000000000000000000000000000000000000..76bea7801963a50568e0ffe0ff67e84e3e008edb
Binary files /dev/null and b/OOP2023/24 Exception2016/bin/Debug/netcoreapp3.1/24 Exception2016.exe differ
diff --git a/OOP2023/24 Exception2016/bin/Debug/netcoreapp3.1/24 Exception2016.pdb b/OOP2023/24 Exception2016/bin/Debug/netcoreapp3.1/24 Exception2016.pdb
new file mode 100644
index 0000000000000000000000000000000000000000..8884e631359f92a1c61852f8b605c66390e22b93
Binary files /dev/null and b/OOP2023/24 Exception2016/bin/Debug/netcoreapp3.1/24 Exception2016.pdb differ
diff --git a/OOP2023/24 Exception2016/bin/Debug/netcoreapp3.1/24 Exception2016.runtimeconfig.dev.json b/OOP2023/24 Exception2016/bin/Debug/netcoreapp3.1/24 Exception2016.runtimeconfig.dev.json
new file mode 100644
index 0000000000000000000000000000000000000000..3becea41545888f98131d88ad51766e8ddde3bce
--- /dev/null
+++ b/OOP2023/24 Exception2016/bin/Debug/netcoreapp3.1/24 Exception2016.runtimeconfig.dev.json	
@@ -0,0 +1,8 @@
+{
+  "runtimeOptions": {
+    "additionalProbingPaths": [
+      "C:\\Users\\wienkop\\.dotnet\\store\\|arch|\\|tfm|",
+      "C:\\Users\\wienkop\\.nuget\\packages"
+    ]
+  }
+}
\ No newline at end of file
diff --git a/OOP2023/24 Exception2016/bin/Debug/netcoreapp3.1/24 Exception2016.runtimeconfig.json b/OOP2023/24 Exception2016/bin/Debug/netcoreapp3.1/24 Exception2016.runtimeconfig.json
new file mode 100644
index 0000000000000000000000000000000000000000..bc456d7868bb54ec1809da30e339cd43f0a8a09c
--- /dev/null
+++ b/OOP2023/24 Exception2016/bin/Debug/netcoreapp3.1/24 Exception2016.runtimeconfig.json	
@@ -0,0 +1,9 @@
+{
+  "runtimeOptions": {
+    "tfm": "netcoreapp3.1",
+    "framework": {
+      "name": "Microsoft.NETCore.App",
+      "version": "3.1.0"
+    }
+  }
+}
\ No newline at end of file
diff --git a/OOP2023/24 Exception2016/obj/24 Exception2016.csproj.nuget.dgspec.json b/OOP2023/24 Exception2016/obj/24 Exception2016.csproj.nuget.dgspec.json
new file mode 100644
index 0000000000000000000000000000000000000000..dfa25c392ab117dae1be559c570cc1fe8d477ca8
--- /dev/null
+++ b/OOP2023/24 Exception2016/obj/24 Exception2016.csproj.nuget.dgspec.json	
@@ -0,0 +1,62 @@
+{
+  "format": 1,
+  "restore": {
+    "C:\\Users\\wienkop\\source\\repos\\oop-ss2023-wienkop\\OOP2023\\24 Exception2016\\24 Exception2016.csproj": {}
+  },
+  "projects": {
+    "C:\\Users\\wienkop\\source\\repos\\oop-ss2023-wienkop\\OOP2023\\24 Exception2016\\24 Exception2016.csproj": {
+      "version": "1.0.0",
+      "restore": {
+        "projectUniqueName": "C:\\Users\\wienkop\\source\\repos\\oop-ss2023-wienkop\\OOP2023\\24 Exception2016\\24 Exception2016.csproj",
+        "projectName": "24 Exception2016",
+        "projectPath": "C:\\Users\\wienkop\\source\\repos\\oop-ss2023-wienkop\\OOP2023\\24 Exception2016\\24 Exception2016.csproj",
+        "packagesPath": "C:\\Users\\wienkop\\.nuget\\packages\\",
+        "outputPath": "C:\\Users\\wienkop\\source\\repos\\oop-ss2023-wienkop\\OOP2023\\24 Exception2016\\obj\\",
+        "projectStyle": "PackageReference",
+        "configFilePaths": [
+          "C:\\Users\\wienkop\\AppData\\Roaming\\NuGet\\NuGet.Config",
+          "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+        ],
+        "originalTargetFrameworks": [
+          "netcoreapp3.1"
+        ],
+        "sources": {
+          "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+          "https://api.nuget.org/v3/index.json": {}
+        },
+        "frameworks": {
+          "netcoreapp3.1": {
+            "targetAlias": "netcoreapp3.1",
+            "projectReferences": {}
+          }
+        },
+        "warningProperties": {
+          "warnAsError": [
+            "NU1605"
+          ]
+        }
+      },
+      "frameworks": {
+        "netcoreapp3.1": {
+          "targetAlias": "netcoreapp3.1",
+          "imports": [
+            "net461",
+            "net462",
+            "net47",
+            "net471",
+            "net472",
+            "net48"
+          ],
+          "assetTargetFallback": true,
+          "warn": true,
+          "frameworkReferences": {
+            "Microsoft.NETCore.App": {
+              "privateAssets": "all"
+            }
+          },
+          "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.416\\RuntimeIdentifierGraph.json"
+        }
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/OOP2023/24 Exception2016/obj/24 Exception2016.csproj.nuget.g.props b/OOP2023/24 Exception2016/obj/24 Exception2016.csproj.nuget.g.props
new file mode 100644
index 0000000000000000000000000000000000000000..5b80f2c625db53897a75e845623625fa11c5415c
--- /dev/null
+++ b/OOP2023/24 Exception2016/obj/24 Exception2016.csproj.nuget.g.props	
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
+    <RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
+    <RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
+    <ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
+    <NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
+    <NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\wienkop\.nuget\packages\</NuGetPackageFolders>
+    <NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
+    <NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">5.11.2</NuGetToolVersion>
+  </PropertyGroup>
+  <ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
+    <SourceRoot Include="C:\Users\wienkop\.nuget\packages\" />
+  </ItemGroup>
+  <PropertyGroup>
+    <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/OOP2023/24 Exception2016/obj/24 Exception2016.csproj.nuget.g.targets b/OOP2023/24 Exception2016/obj/24 Exception2016.csproj.nuget.g.targets
new file mode 100644
index 0000000000000000000000000000000000000000..53cfaa19b16f3769b2bfc33db3b5c0053c16fdba
--- /dev/null
+++ b/OOP2023/24 Exception2016/obj/24 Exception2016.csproj.nuget.g.targets	
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs b/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ad8dfe1a6310302587a2d0c0111d81b250eb4105
--- /dev/null
+++ b/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs	
@@ -0,0 +1,4 @@
+// <autogenerated />
+using System;
+using System.Reflection;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v3.1", FrameworkDisplayName = "")]
diff --git a/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/24 Exception2016.AssemblyInfo.cs b/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/24 Exception2016.AssemblyInfo.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c730754618304f88ca6cc854b00e070381e4bf29
--- /dev/null
+++ b/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/24 Exception2016.AssemblyInfo.cs	
@@ -0,0 +1,23 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     Dieser Code wurde von einem Tool generiert.
+//     Laufzeitversion:4.0.30319.42000
+//
+//     Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
+//     der Code erneut generiert wird.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+using System;
+using System.Reflection;
+
+[assembly: System.Reflection.AssemblyCompanyAttribute("24 Exception2016")]
+[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
+[assembly: System.Reflection.AssemblyProductAttribute("24 Exception2016")]
+[assembly: System.Reflection.AssemblyTitleAttribute("24 Exception2016")]
+[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
+
+// Von der MSBuild WriteCodeFragment-Klasse generiert.
+
diff --git a/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/24 Exception2016.AssemblyInfoInputs.cache b/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/24 Exception2016.AssemblyInfoInputs.cache
new file mode 100644
index 0000000000000000000000000000000000000000..0116a60fc0b0f9482b2e2f42b40c624dbd708a4f
--- /dev/null
+++ b/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/24 Exception2016.AssemblyInfoInputs.cache	
@@ -0,0 +1 @@
+299e5aada883c1541dcd1039198645e518b082bc
diff --git a/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/24 Exception2016.GeneratedMSBuildEditorConfig.editorconfig b/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/24 Exception2016.GeneratedMSBuildEditorConfig.editorconfig
new file mode 100644
index 0000000000000000000000000000000000000000..ab53226f820e2913c6545585c7d7bcf2a7abb2c7
--- /dev/null
+++ b/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/24 Exception2016.GeneratedMSBuildEditorConfig.editorconfig	
@@ -0,0 +1,3 @@
+is_global = true
+build_property.RootNamespace = _24_Exception2016
+build_property.ProjectDir = C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\24 Exception2016\
diff --git a/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/24 Exception2016.assets.cache b/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/24 Exception2016.assets.cache
new file mode 100644
index 0000000000000000000000000000000000000000..4d4436d91d25527a7fe2ca5719758ca53066b73e
Binary files /dev/null and b/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/24 Exception2016.assets.cache differ
diff --git a/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/24 Exception2016.csproj.CoreCompileInputs.cache b/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/24 Exception2016.csproj.CoreCompileInputs.cache
new file mode 100644
index 0000000000000000000000000000000000000000..fe9566db42fddac04a68d729e9770ef4374c1fa9
--- /dev/null
+++ b/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/24 Exception2016.csproj.CoreCompileInputs.cache	
@@ -0,0 +1 @@
+8526a08bf55ad70a8d9f801604dff95cf61f2c38
diff --git a/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/24 Exception2016.csproj.FileListAbsolute.txt b/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/24 Exception2016.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0166a5ba37ff8b3a5a84a83c53bbc0384665bd69
--- /dev/null
+++ b/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/24 Exception2016.csproj.FileListAbsolute.txt	
@@ -0,0 +1,13 @@
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\24 Exception2016\bin\Debug\netcoreapp3.1\24 Exception2016.exe
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\24 Exception2016\bin\Debug\netcoreapp3.1\24 Exception2016.deps.json
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\24 Exception2016\bin\Debug\netcoreapp3.1\24 Exception2016.runtimeconfig.json
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\24 Exception2016\bin\Debug\netcoreapp3.1\24 Exception2016.runtimeconfig.dev.json
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\24 Exception2016\bin\Debug\netcoreapp3.1\24 Exception2016.dll
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\24 Exception2016\bin\Debug\netcoreapp3.1\24 Exception2016.pdb
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\24 Exception2016\obj\Debug\netcoreapp3.1\24 Exception2016.GeneratedMSBuildEditorConfig.editorconfig
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\24 Exception2016\obj\Debug\netcoreapp3.1\24 Exception2016.AssemblyInfoInputs.cache
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\24 Exception2016\obj\Debug\netcoreapp3.1\24 Exception2016.AssemblyInfo.cs
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\24 Exception2016\obj\Debug\netcoreapp3.1\24 Exception2016.csproj.CoreCompileInputs.cache
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\24 Exception2016\obj\Debug\netcoreapp3.1\24 Exception2016.dll
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\24 Exception2016\obj\Debug\netcoreapp3.1\24 Exception2016.pdb
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\24 Exception2016\obj\Debug\netcoreapp3.1\24 Exception2016.genruntimeconfig.cache
diff --git a/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/24 Exception2016.dll b/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/24 Exception2016.dll
new file mode 100644
index 0000000000000000000000000000000000000000..249cfe3d92ac4b204d99a989d11db88b8bd570ab
Binary files /dev/null and b/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/24 Exception2016.dll differ
diff --git a/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/24 Exception2016.genruntimeconfig.cache b/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/24 Exception2016.genruntimeconfig.cache
new file mode 100644
index 0000000000000000000000000000000000000000..1e320556c406c240504a9559862c349a653cf09d
--- /dev/null
+++ b/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/24 Exception2016.genruntimeconfig.cache	
@@ -0,0 +1 @@
+3bdb428e8e99a91fa4be99c952ea92829acde187
diff --git a/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/24 Exception2016.pdb b/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/24 Exception2016.pdb
new file mode 100644
index 0000000000000000000000000000000000000000..8884e631359f92a1c61852f8b605c66390e22b93
Binary files /dev/null and b/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/24 Exception2016.pdb differ
diff --git a/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/apphost.exe b/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/apphost.exe
new file mode 100644
index 0000000000000000000000000000000000000000..76bea7801963a50568e0ffe0ff67e84e3e008edb
Binary files /dev/null and b/OOP2023/24 Exception2016/obj/Debug/netcoreapp3.1/apphost.exe differ
diff --git a/OOP2023/24 Exception2016/obj/project.assets.json b/OOP2023/24 Exception2016/obj/project.assets.json
new file mode 100644
index 0000000000000000000000000000000000000000..1569f72a6a45fa782894613c645aa86616215aa7
--- /dev/null
+++ b/OOP2023/24 Exception2016/obj/project.assets.json	
@@ -0,0 +1,67 @@
+{
+  "version": 3,
+  "targets": {
+    ".NETCoreApp,Version=v3.1": {}
+  },
+  "libraries": {},
+  "projectFileDependencyGroups": {
+    ".NETCoreApp,Version=v3.1": []
+  },
+  "packageFolders": {
+    "C:\\Users\\wienkop\\.nuget\\packages\\": {}
+  },
+  "project": {
+    "version": "1.0.0",
+    "restore": {
+      "projectUniqueName": "C:\\Users\\wienkop\\source\\repos\\oop-ss2023-wienkop\\OOP2023\\24 Exception2016\\24 Exception2016.csproj",
+      "projectName": "24 Exception2016",
+      "projectPath": "C:\\Users\\wienkop\\source\\repos\\oop-ss2023-wienkop\\OOP2023\\24 Exception2016\\24 Exception2016.csproj",
+      "packagesPath": "C:\\Users\\wienkop\\.nuget\\packages\\",
+      "outputPath": "C:\\Users\\wienkop\\source\\repos\\oop-ss2023-wienkop\\OOP2023\\24 Exception2016\\obj\\",
+      "projectStyle": "PackageReference",
+      "configFilePaths": [
+        "C:\\Users\\wienkop\\AppData\\Roaming\\NuGet\\NuGet.Config",
+        "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+      ],
+      "originalTargetFrameworks": [
+        "netcoreapp3.1"
+      ],
+      "sources": {
+        "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+        "https://api.nuget.org/v3/index.json": {}
+      },
+      "frameworks": {
+        "netcoreapp3.1": {
+          "targetAlias": "netcoreapp3.1",
+          "projectReferences": {}
+        }
+      },
+      "warningProperties": {
+        "warnAsError": [
+          "NU1605"
+        ]
+      }
+    },
+    "frameworks": {
+      "netcoreapp3.1": {
+        "targetAlias": "netcoreapp3.1",
+        "imports": [
+          "net461",
+          "net462",
+          "net47",
+          "net471",
+          "net472",
+          "net48"
+        ],
+        "assetTargetFallback": true,
+        "warn": true,
+        "frameworkReferences": {
+          "Microsoft.NETCore.App": {
+            "privateAssets": "all"
+          }
+        },
+        "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.416\\RuntimeIdentifierGraph.json"
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/OOP2023/24 Exception2016/obj/project.nuget.cache b/OOP2023/24 Exception2016/obj/project.nuget.cache
new file mode 100644
index 0000000000000000000000000000000000000000..d7fadd4de76489de8d7f9d5144c4c11a54cd4350
--- /dev/null
+++ b/OOP2023/24 Exception2016/obj/project.nuget.cache	
@@ -0,0 +1,8 @@
+{
+  "version": 2,
+  "dgSpecHash": "pDVfyrI6B8Z22ArD9/SUflT+jg7637Js4Ul6GhhgyUq20hmeErItPEsMgl5CZKIRt0pPdVbhg5F7R3zvaiFNBQ==",
+  "success": true,
+  "projectFilePath": "C:\\Users\\wienkop\\source\\repos\\oop-ss2023-wienkop\\OOP2023\\24 Exception2016\\24 Exception2016.csproj",
+  "expectedPackageFiles": [],
+  "logs": []
+}
\ No newline at end of file
diff --git a/OOP2023/60 LINQ_Intro/Program.cs b/OOP2023/60 LINQ_Intro/Program.cs
index 267b15baff346ccb524c9f087f1588e87859c3da..9189eecdb6c4dc9a96f3fabf845214293e7a6d3e 100644
--- a/OOP2023/60 LINQ_Intro/Program.cs	
+++ b/OOP2023/60 LINQ_Intro/Program.cs	
@@ -13,7 +13,7 @@ namespace _10_LINQ_Intro
         {
             var x = 123;
 
-            var r1 = new { Name = "Wienkop", Tel = "1614", Alter = 56 };
+            var r1 = new { Name = "Wienkop", Tel = "1614", Alter = 59 };
             var r2 = new { Name = "Wienkop", Tel = "1614" };
 
             Console.WriteLine(r1);
@@ -21,7 +21,7 @@ namespace _10_LINQ_Intro
 
             Console.WriteLine(r2);
             string s = r1.Name;
-            var result = new { Name = r1.Name, Laenge = r1.Name.Length };
+            var result = new { r1.Name, Laenge = r1.Name.Length };
             Console.WriteLine(result);
         }
 
@@ -41,8 +41,8 @@ namespace _10_LINQ_Intro
 
 
             //var res = from w in wörter
-            //          where w.Length < 6
-            //          orderby w descending
+            //          where w.Length < 6        // Namen mit weniger als 6 Zeichen
+            //          orderby w descending      // Absteigend sortieren
             //          select new { OrgName = w, GrossName = w.ToUpper(), Länge = w.Length };
 
             //foreach (var r in res)
@@ -50,7 +50,7 @@ namespace _10_LINQ_Intro
             //    Console.WriteLine(r);
             //}
 
-            //Console.WriteLine("******************");
+            Console.WriteLine("******************");
 
 
             var res2 = from w in wörter
diff --git a/OOP2023/60 LINQ_Intro/bin/Debug/netcoreapp3.1/60 LINQ_Intro.deps.json b/OOP2023/60 LINQ_Intro/bin/Debug/netcoreapp3.1/60 LINQ_Intro.deps.json
new file mode 100644
index 0000000000000000000000000000000000000000..f2e6ac09eff654fed6939d6c41555391d29a6135
--- /dev/null
+++ b/OOP2023/60 LINQ_Intro/bin/Debug/netcoreapp3.1/60 LINQ_Intro.deps.json	
@@ -0,0 +1,23 @@
+{
+  "runtimeTarget": {
+    "name": ".NETCoreApp,Version=v3.1",
+    "signature": ""
+  },
+  "compilationOptions": {},
+  "targets": {
+    ".NETCoreApp,Version=v3.1": {
+      "60 LINQ_Intro/1.0.0": {
+        "runtime": {
+          "60 LINQ_Intro.dll": {}
+        }
+      }
+    }
+  },
+  "libraries": {
+    "60 LINQ_Intro/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    }
+  }
+}
\ No newline at end of file
diff --git a/OOP2023/60 LINQ_Intro/bin/Debug/netcoreapp3.1/60 LINQ_Intro.dll b/OOP2023/60 LINQ_Intro/bin/Debug/netcoreapp3.1/60 LINQ_Intro.dll
new file mode 100644
index 0000000000000000000000000000000000000000..a5a36da0794e552d8821b22549bb3450f7be34ba
Binary files /dev/null and b/OOP2023/60 LINQ_Intro/bin/Debug/netcoreapp3.1/60 LINQ_Intro.dll differ
diff --git a/OOP2023/60 LINQ_Intro/bin/Debug/netcoreapp3.1/60 LINQ_Intro.exe b/OOP2023/60 LINQ_Intro/bin/Debug/netcoreapp3.1/60 LINQ_Intro.exe
new file mode 100644
index 0000000000000000000000000000000000000000..4424fbe8f508008f977e0188a60438951634bac4
Binary files /dev/null and b/OOP2023/60 LINQ_Intro/bin/Debug/netcoreapp3.1/60 LINQ_Intro.exe differ
diff --git a/OOP2023/60 LINQ_Intro/bin/Debug/netcoreapp3.1/60 LINQ_Intro.pdb b/OOP2023/60 LINQ_Intro/bin/Debug/netcoreapp3.1/60 LINQ_Intro.pdb
new file mode 100644
index 0000000000000000000000000000000000000000..0c981efde3b827ec776a7992fd9e6e5f5b8c3844
Binary files /dev/null and b/OOP2023/60 LINQ_Intro/bin/Debug/netcoreapp3.1/60 LINQ_Intro.pdb differ
diff --git a/OOP2023/60 LINQ_Intro/bin/Debug/netcoreapp3.1/60 LINQ_Intro.runtimeconfig.dev.json b/OOP2023/60 LINQ_Intro/bin/Debug/netcoreapp3.1/60 LINQ_Intro.runtimeconfig.dev.json
new file mode 100644
index 0000000000000000000000000000000000000000..3becea41545888f98131d88ad51766e8ddde3bce
--- /dev/null
+++ b/OOP2023/60 LINQ_Intro/bin/Debug/netcoreapp3.1/60 LINQ_Intro.runtimeconfig.dev.json	
@@ -0,0 +1,8 @@
+{
+  "runtimeOptions": {
+    "additionalProbingPaths": [
+      "C:\\Users\\wienkop\\.dotnet\\store\\|arch|\\|tfm|",
+      "C:\\Users\\wienkop\\.nuget\\packages"
+    ]
+  }
+}
\ No newline at end of file
diff --git a/OOP2023/60 LINQ_Intro/bin/Debug/netcoreapp3.1/60 LINQ_Intro.runtimeconfig.json b/OOP2023/60 LINQ_Intro/bin/Debug/netcoreapp3.1/60 LINQ_Intro.runtimeconfig.json
new file mode 100644
index 0000000000000000000000000000000000000000..bc456d7868bb54ec1809da30e339cd43f0a8a09c
--- /dev/null
+++ b/OOP2023/60 LINQ_Intro/bin/Debug/netcoreapp3.1/60 LINQ_Intro.runtimeconfig.json	
@@ -0,0 +1,9 @@
+{
+  "runtimeOptions": {
+    "tfm": "netcoreapp3.1",
+    "framework": {
+      "name": "Microsoft.NETCore.App",
+      "version": "3.1.0"
+    }
+  }
+}
\ No newline at end of file
diff --git a/OOP2023/60 LINQ_Intro/obj/Debug/netcoreapp3.1/60 LINQ_Intro.csproj.AssemblyReference.cache b/OOP2023/60 LINQ_Intro/obj/Debug/netcoreapp3.1/60 LINQ_Intro.csproj.AssemblyReference.cache
new file mode 100644
index 0000000000000000000000000000000000000000..f5e894aea93a73e58fa9d4feab241bc197ee1a40
Binary files /dev/null and b/OOP2023/60 LINQ_Intro/obj/Debug/netcoreapp3.1/60 LINQ_Intro.csproj.AssemblyReference.cache differ
diff --git a/OOP2023/60 LINQ_Intro/obj/Debug/netcoreapp3.1/60 LINQ_Intro.csproj.CoreCompileInputs.cache b/OOP2023/60 LINQ_Intro/obj/Debug/netcoreapp3.1/60 LINQ_Intro.csproj.CoreCompileInputs.cache
new file mode 100644
index 0000000000000000000000000000000000000000..244f2e27c610431d64db9f062d44aff65c3671c4
--- /dev/null
+++ b/OOP2023/60 LINQ_Intro/obj/Debug/netcoreapp3.1/60 LINQ_Intro.csproj.CoreCompileInputs.cache	
@@ -0,0 +1 @@
+d2d9973c9abe74f3abf568628c283007c479c56c
diff --git a/OOP2023/60 LINQ_Intro/obj/Debug/netcoreapp3.1/60 LINQ_Intro.csproj.FileListAbsolute.txt b/OOP2023/60 LINQ_Intro/obj/Debug/netcoreapp3.1/60 LINQ_Intro.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9bc897155ddedd0416c146b37994e6f86c846c6d
--- /dev/null
+++ b/OOP2023/60 LINQ_Intro/obj/Debug/netcoreapp3.1/60 LINQ_Intro.csproj.FileListAbsolute.txt	
@@ -0,0 +1,14 @@
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\60 LINQ_Intro\bin\Debug\netcoreapp3.1\60 LINQ_Intro.exe
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\60 LINQ_Intro\bin\Debug\netcoreapp3.1\60 LINQ_Intro.deps.json
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\60 LINQ_Intro\bin\Debug\netcoreapp3.1\60 LINQ_Intro.runtimeconfig.json
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\60 LINQ_Intro\bin\Debug\netcoreapp3.1\60 LINQ_Intro.runtimeconfig.dev.json
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\60 LINQ_Intro\bin\Debug\netcoreapp3.1\60 LINQ_Intro.dll
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\60 LINQ_Intro\bin\Debug\netcoreapp3.1\60 LINQ_Intro.pdb
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\60 LINQ_Intro\obj\Debug\netcoreapp3.1\60 LINQ_Intro.csproj.AssemblyReference.cache
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\60 LINQ_Intro\obj\Debug\netcoreapp3.1\60 LINQ_Intro.GeneratedMSBuildEditorConfig.editorconfig
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\60 LINQ_Intro\obj\Debug\netcoreapp3.1\60 LINQ_Intro.AssemblyInfoInputs.cache
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\60 LINQ_Intro\obj\Debug\netcoreapp3.1\60 LINQ_Intro.AssemblyInfo.cs
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\60 LINQ_Intro\obj\Debug\netcoreapp3.1\60 LINQ_Intro.csproj.CoreCompileInputs.cache
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\60 LINQ_Intro\obj\Debug\netcoreapp3.1\60 LINQ_Intro.dll
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\60 LINQ_Intro\obj\Debug\netcoreapp3.1\60 LINQ_Intro.pdb
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\60 LINQ_Intro\obj\Debug\netcoreapp3.1\60 LINQ_Intro.genruntimeconfig.cache
diff --git a/OOP2023/60 LINQ_Intro/obj/Debug/netcoreapp3.1/60 LINQ_Intro.dll b/OOP2023/60 LINQ_Intro/obj/Debug/netcoreapp3.1/60 LINQ_Intro.dll
new file mode 100644
index 0000000000000000000000000000000000000000..a5a36da0794e552d8821b22549bb3450f7be34ba
Binary files /dev/null and b/OOP2023/60 LINQ_Intro/obj/Debug/netcoreapp3.1/60 LINQ_Intro.dll differ
diff --git a/OOP2023/60 LINQ_Intro/obj/Debug/netcoreapp3.1/60 LINQ_Intro.genruntimeconfig.cache b/OOP2023/60 LINQ_Intro/obj/Debug/netcoreapp3.1/60 LINQ_Intro.genruntimeconfig.cache
new file mode 100644
index 0000000000000000000000000000000000000000..c72f95b64a0efc74f866469b3af772bc87add18d
--- /dev/null
+++ b/OOP2023/60 LINQ_Intro/obj/Debug/netcoreapp3.1/60 LINQ_Intro.genruntimeconfig.cache	
@@ -0,0 +1 @@
+a32d4a5dbaa66c1ba0fcfb6a3f18f1c9cb121b4d
diff --git a/OOP2023/60 LINQ_Intro/obj/Debug/netcoreapp3.1/60 LINQ_Intro.pdb b/OOP2023/60 LINQ_Intro/obj/Debug/netcoreapp3.1/60 LINQ_Intro.pdb
new file mode 100644
index 0000000000000000000000000000000000000000..0c981efde3b827ec776a7992fd9e6e5f5b8c3844
Binary files /dev/null and b/OOP2023/60 LINQ_Intro/obj/Debug/netcoreapp3.1/60 LINQ_Intro.pdb differ
diff --git a/OOP2023/60 LINQ_Intro/obj/Debug/netcoreapp3.1/apphost.exe b/OOP2023/60 LINQ_Intro/obj/Debug/netcoreapp3.1/apphost.exe
index 877804063a66645e531a1d4cdcd7f74771c57dcc..4424fbe8f508008f977e0188a60438951634bac4 100644
Binary files a/OOP2023/60 LINQ_Intro/obj/Debug/netcoreapp3.1/apphost.exe and b/OOP2023/60 LINQ_Intro/obj/Debug/netcoreapp3.1/apphost.exe differ
diff --git a/OOP2023/61BinTreePersVerwaltung/61 BinTreePersVerwaltung.csproj b/OOP2023/61BinTreePersVerwaltung/61 BinTreePersVerwaltung.csproj
index 7365d81630e3f6f38331e2a975bea104e1053b53..a21316c715622e1cf112258810881084914be9e9 100644
--- a/OOP2023/61BinTreePersVerwaltung/61 BinTreePersVerwaltung.csproj	
+++ b/OOP2023/61BinTreePersVerwaltung/61 BinTreePersVerwaltung.csproj	
@@ -50,6 +50,7 @@
   </ItemGroup>
   <ItemGroup>
     <None Include="App.config" />
+    <None Include="ClassDiagram1.cd" />
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
diff --git a/OOP2023/61BinTreePersVerwaltung/ClassDiagram1.cd b/OOP2023/61BinTreePersVerwaltung/ClassDiagram1.cd
new file mode 100644
index 0000000000000000000000000000000000000000..f368125f2de20352363930cedddcf937a9e7de02
--- /dev/null
+++ b/OOP2023/61BinTreePersVerwaltung/ClassDiagram1.cd
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ClassDiagram MajorVersion="1" MinorVersion="1">
+  <Class Name="_11BinTreePersVerwaltung2.Personal" Collapsed="true">
+    <Position X="7.75" Y="1.5" Width="1.5" />
+    <TypeIdentifier>
+      <HashCode>AAAAAAAAAAAAAAQAAAAAAAQAAAAkAAAAAAAAAAAAAAA=</HashCode>
+      <FileName>PersVerwaltung.cs</FileName>
+    </TypeIdentifier>
+    <Lollipop Position="0.2" />
+  </Class>
+  <Class Name="_11BinTreePersVerwaltung2.Mitarbeiter">
+    <Position X="7.75" Y="2.75" Width="1.5" />
+    <TypeIdentifier>
+      <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAgAAAAAAAAA=</HashCode>
+      <FileName>PersVerwaltung.cs</FileName>
+    </TypeIdentifier>
+  </Class>
+  <Class Name="_11BinTreePersVerwaltung2.Führungskraft">
+    <Position X="5.5" Y="2.75" Width="1.5" />
+    <TypeIdentifier>
+      <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAgAAAgAAAAA=</HashCode>
+      <FileName>PersVerwaltung.cs</FileName>
+    </TypeIdentifier>
+  </Class>
+  <Class Name="_11BinTreePersVerwaltung2.Werkvertragler" Collapsed="true">
+    <Position X="10" Y="2.75" Width="1.5" />
+    <TypeIdentifier>
+      <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAA=</HashCode>
+      <FileName>PersVerwaltung.cs</FileName>
+    </TypeIdentifier>
+  </Class>
+  <Class Name="_11BinTreePersVerwaltung2.Program">
+    <Position X="12.75" Y="2.5" Width="1.5" />
+    <TypeIdentifier>
+      <HashCode>AAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAA=</HashCode>
+      <FileName>Program.cs</FileName>
+    </TypeIdentifier>
+  </Class>
+  <Class Name="_11BinTreePersVerwaltung2.ListStack&lt;TYP&gt;" Collapsed="true">
+    <Position X="12.75" Y="5.25" Width="1.5" />
+    <TypeIdentifier>
+      <HashCode>AAAAAAAAAAAAAAAABAAgAAQAAACAAAAAAAAAAAAACAA=</HashCode>
+      <FileName>BinTree.cs</FileName>
+    </TypeIdentifier>
+  </Class>
+  <Class Name="_11BinTreePersVerwaltung2.BinTree&lt;T&gt;" Collapsed="true">
+    <Position X="11" Y="5.25" Width="1.5" />
+    <TypeIdentifier>
+      <HashCode>AAAAAEAAAAAAABAAAAAgAAAAAAAAAAAAAAAAAAAEAAA=</HashCode>
+      <FileName>BinTree.cs</FileName>
+    </TypeIdentifier>
+    <Lollipop Position="0.2" />
+  </Class>
+  <Font Name="Segoe UI" Size="9" />
+</ClassDiagram>
\ No newline at end of file
diff --git a/OOP2023/61BinTreePersVerwaltung/Program.cs b/OOP2023/61BinTreePersVerwaltung/Program.cs
index 58c87fb4df48c4dbfe7df107637cdbed06fe2f1b..a13621998acf90f102e007cbe80259b83fcb6f19 100644
--- a/OOP2023/61BinTreePersVerwaltung/Program.cs
+++ b/OOP2023/61BinTreePersVerwaltung/Program.cs
@@ -47,18 +47,18 @@ namespace _11BinTreePersVerwaltung2
             Console.WriteLine();
             Console.WriteLine("-------------");
 
-            var res = from Personal p in persBaum
-                      where p is Führungskraft
-                      orderby p.Kosten
-                      select new { Name = p.Name.ToUpper(), Kosten = p.Kosten };
-            Console.WriteLine("Führungskräfte: ");
-            foreach (var p in res)
-                Console.WriteLine(p);
+            //var res = from Personal p in persBaum
+            //          where p is Führungskraft
+            //          orderby p.Kosten
+            //          select new { Name = p.Name.ToUpper(), Kosten = p.Kosten };
+            //Console.WriteLine("Führungskräfte: ");
+            //foreach (var p in res)
+            //    Console.WriteLine(p);
 
-            double FKosten = res.Sum(w => w.Kosten);
-            Console.WriteLine("Kosten für die Führungskräfte: " + FKosten.ToString());
-            int anz = res.Count();
-            Console.WriteLine(anz + " Führungskräfte");
+            //double FKosten = res.Sum(w => w.Kosten);
+            //Console.WriteLine("Kosten für die Führungskräfte: " + FKosten.ToString());
+            //int anz = res.Count();
+            //Console.WriteLine(anz + " Führungskräfte");
 
             var res2 = from Personal p in persBaum
                        where p.Kosten < 30000
diff --git a/OOP2023/61BinTreePersVerwaltung/bin/Debug/11BinTreePersVerwaltung2.exe b/OOP2023/61BinTreePersVerwaltung/bin/Debug/11BinTreePersVerwaltung2.exe
index 73efe1519c33f6ed4260c3f18bb276bbbe0962d6..b54cd12a94d4d8e327951d736e4548c1f4fc6a4b 100644
Binary files a/OOP2023/61BinTreePersVerwaltung/bin/Debug/11BinTreePersVerwaltung2.exe and b/OOP2023/61BinTreePersVerwaltung/bin/Debug/11BinTreePersVerwaltung2.exe differ
diff --git a/OOP2023/61BinTreePersVerwaltung/bin/Debug/11BinTreePersVerwaltung2.pdb b/OOP2023/61BinTreePersVerwaltung/bin/Debug/11BinTreePersVerwaltung2.pdb
index 52a0591b43b458bf3e9deb1b1f28acd6cc094cde..abb66ab95c081a16df78c675d7c1f117f47ca1e2 100644
Binary files a/OOP2023/61BinTreePersVerwaltung/bin/Debug/11BinTreePersVerwaltung2.pdb and b/OOP2023/61BinTreePersVerwaltung/bin/Debug/11BinTreePersVerwaltung2.pdb differ
diff --git a/OOP2023/61BinTreePersVerwaltung/obj/Debug/11BinTreePersVerwaltung2.exe b/OOP2023/61BinTreePersVerwaltung/obj/Debug/11BinTreePersVerwaltung2.exe
index 73efe1519c33f6ed4260c3f18bb276bbbe0962d6..b54cd12a94d4d8e327951d736e4548c1f4fc6a4b 100644
Binary files a/OOP2023/61BinTreePersVerwaltung/obj/Debug/11BinTreePersVerwaltung2.exe and b/OOP2023/61BinTreePersVerwaltung/obj/Debug/11BinTreePersVerwaltung2.exe differ
diff --git a/OOP2023/61BinTreePersVerwaltung/obj/Debug/11BinTreePersVerwaltung2.pdb b/OOP2023/61BinTreePersVerwaltung/obj/Debug/11BinTreePersVerwaltung2.pdb
index 52a0591b43b458bf3e9deb1b1f28acd6cc094cde..abb66ab95c081a16df78c675d7c1f117f47ca1e2 100644
Binary files a/OOP2023/61BinTreePersVerwaltung/obj/Debug/11BinTreePersVerwaltung2.pdb and b/OOP2023/61BinTreePersVerwaltung/obj/Debug/11BinTreePersVerwaltung2.pdb differ
diff --git a/OOP2023/61BinTreePersVerwaltung/obj/Debug/61 BinTreePersVerwaltung.csproj.AssemblyReference.cache b/OOP2023/61BinTreePersVerwaltung/obj/Debug/61 BinTreePersVerwaltung.csproj.AssemblyReference.cache
index 87322259527307f2030b6fcfe97d968089112307..f5e894aea93a73e58fa9d4feab241bc197ee1a40 100644
Binary files a/OOP2023/61BinTreePersVerwaltung/obj/Debug/61 BinTreePersVerwaltung.csproj.AssemblyReference.cache and b/OOP2023/61BinTreePersVerwaltung/obj/Debug/61 BinTreePersVerwaltung.csproj.AssemblyReference.cache differ
diff --git a/OOP2023/61BinTreePersVerwaltung/obj/Debug/61 BinTreePersVerwaltung.csproj.CoreCompileInputs.cache b/OOP2023/61BinTreePersVerwaltung/obj/Debug/61 BinTreePersVerwaltung.csproj.CoreCompileInputs.cache
new file mode 100644
index 0000000000000000000000000000000000000000..7f754838553cf0b1f3d46054caf56c2b9093cad6
--- /dev/null
+++ b/OOP2023/61BinTreePersVerwaltung/obj/Debug/61 BinTreePersVerwaltung.csproj.CoreCompileInputs.cache	
@@ -0,0 +1 @@
+9dea0029e2ad19e6568543898f28a0df176c2c63
diff --git a/OOP2023/61BinTreePersVerwaltung/obj/Debug/61 BinTreePersVerwaltung.csproj.FileListAbsolute.txt b/OOP2023/61BinTreePersVerwaltung/obj/Debug/61 BinTreePersVerwaltung.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b746e3de3de62d7ce6ec59684a4a8c2e37589694
--- /dev/null
+++ b/OOP2023/61BinTreePersVerwaltung/obj/Debug/61 BinTreePersVerwaltung.csproj.FileListAbsolute.txt	
@@ -0,0 +1,7 @@
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\61BinTreePersVerwaltung\bin\Debug\11BinTreePersVerwaltung2.exe.config
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\61BinTreePersVerwaltung\bin\Debug\11BinTreePersVerwaltung2.exe
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\61BinTreePersVerwaltung\bin\Debug\11BinTreePersVerwaltung2.pdb
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\61BinTreePersVerwaltung\obj\Debug\61 BinTreePersVerwaltung.csproj.AssemblyReference.cache
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\61BinTreePersVerwaltung\obj\Debug\61 BinTreePersVerwaltung.csproj.CoreCompileInputs.cache
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\61BinTreePersVerwaltung\obj\Debug\11BinTreePersVerwaltung2.exe
+C:\Users\wienkop\source\repos\oop-ss2023-wienkop\OOP2023\61BinTreePersVerwaltung\obj\Debug\11BinTreePersVerwaltung2.pdb
diff --git a/OOP2023/61BinTreePersVerwaltung/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/OOP2023/61BinTreePersVerwaltung/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
index b2f901525e7df390c69920b112bfa656c540da7a..3863ee6d6f87ed025a6c55cbe03a9b5d8942a48e 100644
Binary files a/OOP2023/61BinTreePersVerwaltung/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/OOP2023/61BinTreePersVerwaltung/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/OOP2023/OOP2023.sln b/OOP2023/OOP2023.sln
index 1c0141e325b535578a294a8827b20e0a36b9bc12..77f80e06334a939625182e0a7809102b8ecb15bf 100644
--- a/OOP2023/OOP2023.sln
+++ b/OOP2023/OOP2023.sln
@@ -57,9 +57,13 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "60 LINQ_Intro", "60 LINQ_In
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "61 BinTreePersVerwaltung", "61BinTreePersVerwaltung\61 BinTreePersVerwaltung.csproj", "{105A4EE2-C686-49AC-B634-F074D4F9EF46}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "23 DataDriven", "23 DataDriven\23 DataDriven.csproj", "{FA259965-C290-41D8-8D77-F17F4792A07A}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "23 DataDriven", "23 DataDriven\23 DataDriven.csproj", "{FA259965-C290-41D8-8D77-F17F4792A07A}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "23 ApplyAll", "23 ApplyAll\23 ApplyAll.csproj", "{FAACBF65-5081-472E-8757-43AC414E05F0}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "23 ApplyAll", "23 ApplyAll\23 ApplyAll.csproj", "{FAACBF65-5081-472E-8757-43AC414E05F0}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "24 DelegateVerkettung", "24 DelegateVerkettung\24 DelegateVerkettung.csproj", "{79335D89-BFE4-4C16-AE0B-C5A4E48F707C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "24 Exception2016", "24 Exception2016\24 Exception2016.csproj", "{B80CF5D0-AE39-407C-8EB4-279C3E978C3E}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -183,6 +187,14 @@ Global
 		{FAACBF65-5081-472E-8757-43AC414E05F0}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{FAACBF65-5081-472E-8757-43AC414E05F0}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{FAACBF65-5081-472E-8757-43AC414E05F0}.Release|Any CPU.Build.0 = Release|Any CPU
+		{79335D89-BFE4-4C16-AE0B-C5A4E48F707C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{79335D89-BFE4-4C16-AE0B-C5A4E48F707C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{79335D89-BFE4-4C16-AE0B-C5A4E48F707C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{79335D89-BFE4-4C16-AE0B-C5A4E48F707C}.Release|Any CPU.Build.0 = Release|Any CPU
+		{B80CF5D0-AE39-407C-8EB4-279C3E978C3E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{B80CF5D0-AE39-407C-8EB4-279C3E978C3E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{B80CF5D0-AE39-407C-8EB4-279C3E978C3E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{B80CF5D0-AE39-407C-8EB4-279C3E978C3E}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE