diff --git a/.vs/prog2-ss2020-wienkop/v16/.suo b/.vs/prog2-ss2020-wienkop/v16/.suo index 65f0f4e3ec81d204878e0065a8a8a1f56f4a158f..005da92bef2630dc2beb6d847832ac31a167e340 100644 Binary files a/.vs/prog2-ss2020-wienkop/v16/.suo and b/.vs/prog2-ss2020-wienkop/v16/.suo differ diff --git a/01Buergeramt-Di/obj/Debug/netcoreapp3.1/01Uebg_Buergeramt-Di.csprojAssemblyReference.cache b/01Buergeramt-Di/obj/Debug/netcoreapp3.1/01Uebg_Buergeramt-Di.csprojAssemblyReference.cache index 4824caf0c92344f68eac696e04da28b425072d2c..4604200e8108358ecfd89e86f2787c9523eed2ff 100644 Binary files a/01Buergeramt-Di/obj/Debug/netcoreapp3.1/01Uebg_Buergeramt-Di.csprojAssemblyReference.cache and b/01Buergeramt-Di/obj/Debug/netcoreapp3.1/01Uebg_Buergeramt-Di.csprojAssemblyReference.cache differ diff --git a/01Buergeramt/obj/Debug/netcoreapp3.1/01Uebg_Buergeramt-Mo.csprojAssemblyReference.cache b/01Buergeramt/obj/Debug/netcoreapp3.1/01Uebg_Buergeramt-Mo.csprojAssemblyReference.cache index cf534861a3640f8554f9ce25bfe11127debf486c..b5214f35120e32e54563c1c022ea640ba350567a 100644 Binary files a/01Buergeramt/obj/Debug/netcoreapp3.1/01Uebg_Buergeramt-Mo.csprojAssemblyReference.cache and b/01Buergeramt/obj/Debug/netcoreapp3.1/01Uebg_Buergeramt-Mo.csprojAssemblyReference.cache differ diff --git a/01WPF_Demo/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/01WPF_Demo/obj/Debug/DesignTimeResolveAssemblyReferences.cache index a3ab5aa226422b05e325b8b5b3f13de3d7a47b5f..80efde49189f7ab2e740a2ee31b32145574ed6f5 100644 Binary files a/01WPF_Demo/obj/Debug/DesignTimeResolveAssemblyReferences.cache and b/01WPF_Demo/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ diff --git a/02 Uebg KlasseTimeOpOverloading/obj/Debug/netcoreapp3.1/02 UebgMo KlasseTimeOpOverloading.csprojAssemblyReference.cache b/02 Uebg KlasseTimeOpOverloading/obj/Debug/netcoreapp3.1/02 UebgMo KlasseTimeOpOverloading.csprojAssemblyReference.cache index ed51084113c37d43a99e791dd0a169f2b0c6b55a..eccb16c61b24a1a51c2c7f95176dcd7d1142727d 100644 Binary files a/02 Uebg KlasseTimeOpOverloading/obj/Debug/netcoreapp3.1/02 UebgMo KlasseTimeOpOverloading.csprojAssemblyReference.cache and b/02 Uebg KlasseTimeOpOverloading/obj/Debug/netcoreapp3.1/02 UebgMo KlasseTimeOpOverloading.csprojAssemblyReference.cache differ diff --git a/09 DelegateVerkettung/09 DelegateVerkettung.csproj b/09 DelegateVerkettung/09 DelegateVerkettung.csproj new file mode 100644 index 0000000000000000000000000000000000000000..0578b4bb6072fe508ae850dfc859e98aeeba7207 --- /dev/null +++ b/09 DelegateVerkettung/09 DelegateVerkettung.csproj @@ -0,0 +1,9 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <OutputType>Exe</OutputType> + <TargetFramework>netcoreapp3.1</TargetFramework> + <RootNamespace>_09_DelegateVerkettung</RootNamespace> + </PropertyGroup> + +</Project> diff --git a/09 DelegateVerkettung/Program.cs b/09 DelegateVerkettung/Program.cs new file mode 100644 index 0000000000000000000000000000000000000000..4de40d9ca2c8d56a75422f1e22cfef228ae2fa94 --- /dev/null +++ b/09 DelegateVerkettung/Program.cs @@ -0,0 +1,42 @@ +using System; + +namespace _09_DelegateVerkettung +{ + class Program + { + delegate void StringDelegate(ref string s); + static StringDelegate stringdelegate; + static string Ausgabe(string s) + { + stringdelegate?.Invoke(ref s); + return s; + //Console.WriteLine("------------"); + } + + static void InGrossbuchstaben(ref string s) + { + s = s.ToUpper(); + } + static void AbZweitesZeichen(ref string s) + { + s= s.Substring(1); + } + static void Mitte(ref string s) + { + s = s.Substring(2, 3); + } + static void Main(string[] args) + { + StringDelegate tmp = delegate (ref string s) { s = s.Substring(1); }; + stringdelegate += InGrossbuchstaben; // Ausführung in der Reihenfolge + stringdelegate += tmp; + // des += + stringdelegate += Mitte; + stringdelegate -= tmp; + // Achtung!!! Anonyme Methoden können nicht entfernt werden + stringdelegate += AbZweitesZeichen; + + Console.WriteLine(Ausgabe("Hallo-Welt")); + } + } +} diff --git a/09 DelegateVerkettung/bin/Debug/netcoreapp3.1/09 DelegateVerkettung.deps.json b/09 DelegateVerkettung/bin/Debug/netcoreapp3.1/09 DelegateVerkettung.deps.json new file mode 100644 index 0000000000000000000000000000000000000000..2681bd65e98903d7141250f86949c732f755c060 --- /dev/null +++ b/09 DelegateVerkettung/bin/Debug/netcoreapp3.1/09 DelegateVerkettung.deps.json @@ -0,0 +1,23 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v3.1", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v3.1": { + "09 DelegateVerkettung/1.0.0": { + "runtime": { + "09 DelegateVerkettung.dll": {} + } + } + } + }, + "libraries": { + "09 DelegateVerkettung/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/09 DelegateVerkettung/bin/Debug/netcoreapp3.1/09 DelegateVerkettung.dll b/09 DelegateVerkettung/bin/Debug/netcoreapp3.1/09 DelegateVerkettung.dll new file mode 100644 index 0000000000000000000000000000000000000000..eef3edbce09592fa80e695c892ca0c71537056e7 Binary files /dev/null and b/09 DelegateVerkettung/bin/Debug/netcoreapp3.1/09 DelegateVerkettung.dll differ diff --git a/09 DelegateVerkettung/bin/Debug/netcoreapp3.1/09 DelegateVerkettung.exe b/09 DelegateVerkettung/bin/Debug/netcoreapp3.1/09 DelegateVerkettung.exe new file mode 100644 index 0000000000000000000000000000000000000000..759104cc899d727cced1ce2fda73dd4a017d7000 Binary files /dev/null and b/09 DelegateVerkettung/bin/Debug/netcoreapp3.1/09 DelegateVerkettung.exe differ diff --git a/09 DelegateVerkettung/bin/Debug/netcoreapp3.1/09 DelegateVerkettung.pdb b/09 DelegateVerkettung/bin/Debug/netcoreapp3.1/09 DelegateVerkettung.pdb new file mode 100644 index 0000000000000000000000000000000000000000..a5318e93a79d18ebca9909b81146da970bdfbc96 Binary files /dev/null and b/09 DelegateVerkettung/bin/Debug/netcoreapp3.1/09 DelegateVerkettung.pdb differ diff --git a/09 DelegateVerkettung/bin/Debug/netcoreapp3.1/09 DelegateVerkettung.runtimeconfig.dev.json b/09 DelegateVerkettung/bin/Debug/netcoreapp3.1/09 DelegateVerkettung.runtimeconfig.dev.json new file mode 100644 index 0000000000000000000000000000000000000000..3becea41545888f98131d88ad51766e8ddde3bce --- /dev/null +++ b/09 DelegateVerkettung/bin/Debug/netcoreapp3.1/09 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/09 DelegateVerkettung/bin/Debug/netcoreapp3.1/09 DelegateVerkettung.runtimeconfig.json b/09 DelegateVerkettung/bin/Debug/netcoreapp3.1/09 DelegateVerkettung.runtimeconfig.json new file mode 100644 index 0000000000000000000000000000000000000000..bc456d7868bb54ec1809da30e339cd43f0a8a09c --- /dev/null +++ b/09 DelegateVerkettung/bin/Debug/netcoreapp3.1/09 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/09 DelegateVerkettung/obj/09 DelegateVerkettung.csproj.nuget.dgspec.json b/09 DelegateVerkettung/obj/09 DelegateVerkettung.csproj.nuget.dgspec.json new file mode 100644 index 0000000000000000000000000000000000000000..6b74e3c2d892c9745d1345f44ad46d5ed171f2f3 --- /dev/null +++ b/09 DelegateVerkettung/obj/09 DelegateVerkettung.csproj.nuget.dgspec.json @@ -0,0 +1,60 @@ +{ + "format": 1, + "restore": { + "C:\\Users\\wienkop\\source\\repos\\prog2-ss2020-wienkop\\09 DelegateVerkettung\\09 DelegateVerkettung.csproj": {} + }, + "projects": { + "C:\\Users\\wienkop\\source\\repos\\prog2-ss2020-wienkop\\09 DelegateVerkettung\\09 DelegateVerkettung.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\wienkop\\source\\repos\\prog2-ss2020-wienkop\\09 DelegateVerkettung\\09 DelegateVerkettung.csproj", + "projectName": "09 DelegateVerkettung", + "projectPath": "C:\\Users\\wienkop\\source\\repos\\prog2-ss2020-wienkop\\09 DelegateVerkettung\\09 DelegateVerkettung.csproj", + "packagesPath": "C:\\Users\\wienkop\\.nuget\\packages\\", + "outputPath": "C:\\Users\\wienkop\\source\\repos\\prog2-ss2020-wienkop\\09 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": { + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + } + }, + "frameworks": { + "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\\3.1.301\\RuntimeIdentifierGraph.json" + } + } + } + } +} \ No newline at end of file diff --git a/09 DelegateVerkettung/obj/09 DelegateVerkettung.csproj.nuget.g.props b/09 DelegateVerkettung/obj/09 DelegateVerkettung.csproj.nuget.g.props new file mode 100644 index 0000000000000000000000000000000000000000..71e2560680d6cba0b1c8f0e4f5c188f730659b86 --- /dev/null +++ b/09 DelegateVerkettung/obj/09 DelegateVerkettung.csproj.nuget.g.props @@ -0,0 +1,15 @@ +<?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.6.0</NuGetToolVersion> + </PropertyGroup> + <PropertyGroup> + <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects> + </PropertyGroup> +</Project> \ No newline at end of file diff --git a/09 DelegateVerkettung/obj/09 DelegateVerkettung.csproj.nuget.g.targets b/09 DelegateVerkettung/obj/09 DelegateVerkettung.csproj.nuget.g.targets new file mode 100644 index 0000000000000000000000000000000000000000..53cfaa19b16f3769b2bfc33db3b5c0053c16fdba --- /dev/null +++ b/09 DelegateVerkettung/obj/09 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/09 DelegateVerkettung/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs b/09 DelegateVerkettung/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs new file mode 100644 index 0000000000000000000000000000000000000000..ad8dfe1a6310302587a2d0c0111d81b250eb4105 --- /dev/null +++ b/09 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/09 DelegateVerkettung/obj/Debug/netcoreapp3.1/09 DelegateVerkettung.AssemblyInfo.cs b/09 DelegateVerkettung/obj/Debug/netcoreapp3.1/09 DelegateVerkettung.AssemblyInfo.cs new file mode 100644 index 0000000000000000000000000000000000000000..52d3ed91afe7edefa85565bb5894dde5bc3b52af --- /dev/null +++ b/09 DelegateVerkettung/obj/Debug/netcoreapp3.1/09 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("09 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("09 DelegateVerkettung")] +[assembly: System.Reflection.AssemblyTitleAttribute("09 DelegateVerkettung")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// Von der MSBuild WriteCodeFragment-Klasse generiert. + diff --git a/09 DelegateVerkettung/obj/Debug/netcoreapp3.1/09 DelegateVerkettung.AssemblyInfoInputs.cache b/09 DelegateVerkettung/obj/Debug/netcoreapp3.1/09 DelegateVerkettung.AssemblyInfoInputs.cache new file mode 100644 index 0000000000000000000000000000000000000000..e8444516589a3ec79fbd69c19102856244a849e9 --- /dev/null +++ b/09 DelegateVerkettung/obj/Debug/netcoreapp3.1/09 DelegateVerkettung.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +55f672e7a96d1d62323547f23b45c60906ef5148 diff --git a/09 DelegateVerkettung/obj/Debug/netcoreapp3.1/09 DelegateVerkettung.assets.cache b/09 DelegateVerkettung/obj/Debug/netcoreapp3.1/09 DelegateVerkettung.assets.cache new file mode 100644 index 0000000000000000000000000000000000000000..3286ba53a431c87349e047ff4c955a6c2c2d19b1 Binary files /dev/null and b/09 DelegateVerkettung/obj/Debug/netcoreapp3.1/09 DelegateVerkettung.assets.cache differ diff --git a/09 DelegateVerkettung/obj/Debug/netcoreapp3.1/09 DelegateVerkettung.csproj.CoreCompileInputs.cache b/09 DelegateVerkettung/obj/Debug/netcoreapp3.1/09 DelegateVerkettung.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000000000000000000000000000000000000..1953b90bd08ea783a6de626592a29a8f6b8c0b38 --- /dev/null +++ b/09 DelegateVerkettung/obj/Debug/netcoreapp3.1/09 DelegateVerkettung.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +56015a2ef8ee84f369a003b086f0f1baf2e10053 diff --git a/09 DelegateVerkettung/obj/Debug/netcoreapp3.1/09 DelegateVerkettung.csproj.FileListAbsolute.txt b/09 DelegateVerkettung/obj/Debug/netcoreapp3.1/09 DelegateVerkettung.csproj.FileListAbsolute.txt new file mode 100644 index 0000000000000000000000000000000000000000..c27d0a021991f9cef320e57beccc3442f34fae9c --- /dev/null +++ b/09 DelegateVerkettung/obj/Debug/netcoreapp3.1/09 DelegateVerkettung.csproj.FileListAbsolute.txt @@ -0,0 +1,12 @@ +C:\Users\wienkop\source\repos\prog2-ss2020-wienkop\09 DelegateVerkettung\bin\Debug\netcoreapp3.1\09 DelegateVerkettung.exe +C:\Users\wienkop\source\repos\prog2-ss2020-wienkop\09 DelegateVerkettung\bin\Debug\netcoreapp3.1\09 DelegateVerkettung.deps.json +C:\Users\wienkop\source\repos\prog2-ss2020-wienkop\09 DelegateVerkettung\bin\Debug\netcoreapp3.1\09 DelegateVerkettung.runtimeconfig.json +C:\Users\wienkop\source\repos\prog2-ss2020-wienkop\09 DelegateVerkettung\bin\Debug\netcoreapp3.1\09 DelegateVerkettung.runtimeconfig.dev.json +C:\Users\wienkop\source\repos\prog2-ss2020-wienkop\09 DelegateVerkettung\bin\Debug\netcoreapp3.1\09 DelegateVerkettung.dll +C:\Users\wienkop\source\repos\prog2-ss2020-wienkop\09 DelegateVerkettung\bin\Debug\netcoreapp3.1\09 DelegateVerkettung.pdb +C:\Users\wienkop\source\repos\prog2-ss2020-wienkop\09 DelegateVerkettung\obj\Debug\netcoreapp3.1\09 DelegateVerkettung.AssemblyInfoInputs.cache +C:\Users\wienkop\source\repos\prog2-ss2020-wienkop\09 DelegateVerkettung\obj\Debug\netcoreapp3.1\09 DelegateVerkettung.AssemblyInfo.cs +C:\Users\wienkop\source\repos\prog2-ss2020-wienkop\09 DelegateVerkettung\obj\Debug\netcoreapp3.1\09 DelegateVerkettung.csproj.CoreCompileInputs.cache +C:\Users\wienkop\source\repos\prog2-ss2020-wienkop\09 DelegateVerkettung\obj\Debug\netcoreapp3.1\09 DelegateVerkettung.dll +C:\Users\wienkop\source\repos\prog2-ss2020-wienkop\09 DelegateVerkettung\obj\Debug\netcoreapp3.1\09 DelegateVerkettung.pdb +C:\Users\wienkop\source\repos\prog2-ss2020-wienkop\09 DelegateVerkettung\obj\Debug\netcoreapp3.1\09 DelegateVerkettung.genruntimeconfig.cache diff --git a/09 DelegateVerkettung/obj/Debug/netcoreapp3.1/09 DelegateVerkettung.dll b/09 DelegateVerkettung/obj/Debug/netcoreapp3.1/09 DelegateVerkettung.dll new file mode 100644 index 0000000000000000000000000000000000000000..eef3edbce09592fa80e695c892ca0c71537056e7 Binary files /dev/null and b/09 DelegateVerkettung/obj/Debug/netcoreapp3.1/09 DelegateVerkettung.dll differ diff --git a/09 DelegateVerkettung/obj/Debug/netcoreapp3.1/09 DelegateVerkettung.exe b/09 DelegateVerkettung/obj/Debug/netcoreapp3.1/09 DelegateVerkettung.exe new file mode 100644 index 0000000000000000000000000000000000000000..759104cc899d727cced1ce2fda73dd4a017d7000 Binary files /dev/null and b/09 DelegateVerkettung/obj/Debug/netcoreapp3.1/09 DelegateVerkettung.exe differ diff --git a/09 DelegateVerkettung/obj/Debug/netcoreapp3.1/09 DelegateVerkettung.genruntimeconfig.cache b/09 DelegateVerkettung/obj/Debug/netcoreapp3.1/09 DelegateVerkettung.genruntimeconfig.cache new file mode 100644 index 0000000000000000000000000000000000000000..34bedab819ef1631d37d6e87ef9a716c545a105e --- /dev/null +++ b/09 DelegateVerkettung/obj/Debug/netcoreapp3.1/09 DelegateVerkettung.genruntimeconfig.cache @@ -0,0 +1 @@ +86c8e15dd33445635927cfaf398408205fd11473 diff --git a/09 DelegateVerkettung/obj/Debug/netcoreapp3.1/09 DelegateVerkettung.pdb b/09 DelegateVerkettung/obj/Debug/netcoreapp3.1/09 DelegateVerkettung.pdb new file mode 100644 index 0000000000000000000000000000000000000000..a5318e93a79d18ebca9909b81146da970bdfbc96 Binary files /dev/null and b/09 DelegateVerkettung/obj/Debug/netcoreapp3.1/09 DelegateVerkettung.pdb differ diff --git a/09 DelegateVerkettung/obj/project.assets.json b/09 DelegateVerkettung/obj/project.assets.json new file mode 100644 index 0000000000000000000000000000000000000000..2750b2d2774e6de4ff001473421c42146ede364f --- /dev/null +++ b/09 DelegateVerkettung/obj/project.assets.json @@ -0,0 +1,65 @@ +{ + "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\\prog2-ss2020-wienkop\\09 DelegateVerkettung\\09 DelegateVerkettung.csproj", + "projectName": "09 DelegateVerkettung", + "projectPath": "C:\\Users\\wienkop\\source\\repos\\prog2-ss2020-wienkop\\09 DelegateVerkettung\\09 DelegateVerkettung.csproj", + "packagesPath": "C:\\Users\\wienkop\\.nuget\\packages\\", + "outputPath": "C:\\Users\\wienkop\\source\\repos\\prog2-ss2020-wienkop\\09 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": { + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + } + }, + "frameworks": { + "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\\3.1.301\\RuntimeIdentifierGraph.json" + } + } + } +} \ No newline at end of file diff --git a/09 DelegateVerkettung/obj/project.nuget.cache b/09 DelegateVerkettung/obj/project.nuget.cache new file mode 100644 index 0000000000000000000000000000000000000000..823c6c307807ff83493d59f64cc077e6adaaba29 --- /dev/null +++ b/09 DelegateVerkettung/obj/project.nuget.cache @@ -0,0 +1,8 @@ +{ + "version": 2, + "dgSpecHash": "fE4rbGLaDPbUeVHdRKy7yZvUTmTvBompiXtAsNyOnxEqzKlVMHSQpFpcdlwYPYw3sW7Tr8RkBzkIKfH4ExQbWA==", + "success": true, + "projectFilePath": "C:\\Users\\wienkop\\source\\repos\\prog2-ss2020-wienkop\\09 DelegateVerkettung\\09 DelegateVerkettung.csproj", + "expectedPackageFiles": [], + "logs": [] +} \ No newline at end of file diff --git a/09 UebgMailVerteilung/Program.cs b/09 UebgMailVerteilung/Program.cs index 94d74a4fca52fb4bdd05ea692782c0fa3254c1db..0a00b5c07798b854c4dda2f752ed41c508d6fbec 100644 --- a/09 UebgMailVerteilung/Program.cs +++ b/09 UebgMailVerteilung/Program.cs @@ -3,11 +3,16 @@ namespace _09_UebgMailVerteilung { public delegate void Callback(string s); + // Delegate definiert einen neuen Typ class MailServer { /* ToDo: Delegate/Event anlegen */ public event Callback verteiler; - + // Event ~ ein eingeschränktes Delegate + // = ist nicht mehr erlaubt, nur noch += und -= + // Event-Aufruf ist nur noch Methoden derjenigen Klasse erlaubt, + // in der sich die Delegate-Var. befindet + public void Senden(string s) { /* ToDo: Aufruf des verteilers */ @@ -22,7 +27,24 @@ namespace _09_UebgMailVerteilung // Bis hierher: Code der Firma A - + class FirmaB + { + public static string Gespeichert { get; private set; } + public static void Speichern(string s) { Gespeichert = s; } + public void FirmaBMoechteInformiertWerden(string s) + { + Console.WriteLine($"Firma B: {s}"); + } + } + class FirmaC + { + string mitarbeiter; + public FirmaC(string name) { mitarbeiter = name; } + public void FirmaCInfo(string s) + { + Console.WriteLine($"Firma C-{mitarbeiter}: {s}"); + } + } // Ab hier: Code der Firma B class Program @@ -35,6 +57,10 @@ namespace _09_UebgMailVerteilung { MailServer mb = new MailServer(); + FirmaB fb = new FirmaB(); + FirmaC fc1 = new FirmaC("Anton"); + FirmaC fc2 = new FirmaC("Berta"); + /* ToDos: * Geben Sie mindestens zwei geeignete CallBack-Methoden an * Rufen Sie den Mail-Verteiler mit Beispieltexten auf @@ -46,9 +72,16 @@ namespace _09_UebgMailVerteilung mb.verteiler += Console.WriteLine; // Einspeichern/Registrieren der Objekt+Methodenreferenz mb.verteiler += AllesInGrossbuchstaben; + mb.verteiler += FirmaB.Speichern; // statische Methode einer anderen Klasse: Klassenname+Punkt+Methodenname + mb.verteiler += fc1.FirmaCInfo; // nicht-statische Methode: obj+Methodenname + mb.verteiler += fc2.FirmaCInfo; + // mb.verteiler = null; -- Bei event-Delegates nicht erlaubt mb.Senden("Geheime Nachricht"); // wird an alle registrierten Empfänger gesendet + Console.WriteLine("In Firma B gespeichert: " + FirmaB.Gespeichert); mb.Senden("Ein schönen guten Morgen"); + Console.WriteLine("In Firma B gespeichert: " + FirmaB.Gespeichert); + } } } diff --git a/09 UebgMailVerteilung/bin/Debug/netcoreapp3.1/09 UebgDiMailVerteilung.dll b/09 UebgMailVerteilung/bin/Debug/netcoreapp3.1/09 UebgDiMailVerteilung.dll index 5469ce200061b5bbc0a83491f5e5c595041a7f92..490fc80a5d7eee84b3dc130d1ca72367f2fb1d68 100644 Binary files a/09 UebgMailVerteilung/bin/Debug/netcoreapp3.1/09 UebgDiMailVerteilung.dll and b/09 UebgMailVerteilung/bin/Debug/netcoreapp3.1/09 UebgDiMailVerteilung.dll differ diff --git a/09 UebgMailVerteilung/bin/Debug/netcoreapp3.1/09 UebgDiMailVerteilung.pdb b/09 UebgMailVerteilung/bin/Debug/netcoreapp3.1/09 UebgDiMailVerteilung.pdb index 361faea04662f0529ec925844c55e6d81c5835d6..86d2db5ac322a0a9cc99f88e29eb62ce31d9ce8b 100644 Binary files a/09 UebgMailVerteilung/bin/Debug/netcoreapp3.1/09 UebgDiMailVerteilung.pdb and b/09 UebgMailVerteilung/bin/Debug/netcoreapp3.1/09 UebgDiMailVerteilung.pdb differ diff --git a/09 UebgMailVerteilung/obj/Debug/netcoreapp3.1/09 UebgDiMailVerteilung.csprojAssemblyReference.cache b/09 UebgMailVerteilung/obj/Debug/netcoreapp3.1/09 UebgDiMailVerteilung.csprojAssemblyReference.cache index 74fe67b1ca671095970d4a7fbcae2417231e8f41..e23245258eaf6b6145a13830bacb66ca8fd7c885 100644 Binary files a/09 UebgMailVerteilung/obj/Debug/netcoreapp3.1/09 UebgDiMailVerteilung.csprojAssemblyReference.cache and b/09 UebgMailVerteilung/obj/Debug/netcoreapp3.1/09 UebgDiMailVerteilung.csprojAssemblyReference.cache differ diff --git a/09 UebgMailVerteilung/obj/Debug/netcoreapp3.1/09 UebgDiMailVerteilung.dll b/09 UebgMailVerteilung/obj/Debug/netcoreapp3.1/09 UebgDiMailVerteilung.dll index 5469ce200061b5bbc0a83491f5e5c595041a7f92..490fc80a5d7eee84b3dc130d1ca72367f2fb1d68 100644 Binary files a/09 UebgMailVerteilung/obj/Debug/netcoreapp3.1/09 UebgDiMailVerteilung.dll and b/09 UebgMailVerteilung/obj/Debug/netcoreapp3.1/09 UebgDiMailVerteilung.dll differ diff --git a/09 UebgMailVerteilung/obj/Debug/netcoreapp3.1/09 UebgDiMailVerteilung.pdb b/09 UebgMailVerteilung/obj/Debug/netcoreapp3.1/09 UebgDiMailVerteilung.pdb index 361faea04662f0529ec925844c55e6d81c5835d6..86d2db5ac322a0a9cc99f88e29eb62ce31d9ce8b 100644 Binary files a/09 UebgMailVerteilung/obj/Debug/netcoreapp3.1/09 UebgDiMailVerteilung.pdb and b/09 UebgMailVerteilung/obj/Debug/netcoreapp3.1/09 UebgDiMailVerteilung.pdb differ diff --git a/prog2-ss2020-wienkop.sln b/prog2-ss2020-wienkop.sln index 655ce10ced0620261dd0db406e5b1bfee2aa68ee..d2fd2bf465e795a6bb7941b1a852cde8316f71b3 100644 --- a/prog2-ss2020-wienkop.sln +++ b/prog2-ss2020-wienkop.sln @@ -108,6 +108,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "09 MailServer", "09TestProj EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "09 UebgDiMailVerteilung", "09 UebgMailVerteilung\09 UebgDiMailVerteilung.csproj", "{1299E185-D763-4A24-8D6E-A39BAED9398E}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "09 DelegateVerkettung", "09 DelegateVerkettung\09 DelegateVerkettung.csproj", "{17A26633-0F72-4889-B31E-9A29A80CE4A5}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -314,6 +316,10 @@ Global {1299E185-D763-4A24-8D6E-A39BAED9398E}.Debug|Any CPU.Build.0 = Debug|Any CPU {1299E185-D763-4A24-8D6E-A39BAED9398E}.Release|Any CPU.ActiveCfg = Release|Any CPU {1299E185-D763-4A24-8D6E-A39BAED9398E}.Release|Any CPU.Build.0 = Release|Any CPU + {17A26633-0F72-4889-B31E-9A29A80CE4A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {17A26633-0F72-4889-B31E-9A29A80CE4A5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {17A26633-0F72-4889-B31E-9A29A80CE4A5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {17A26633-0F72-4889-B31E-9A29A80CE4A5}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE