diff --git a/.vs/prog2-ss2020-wienkop/DesignTimeBuild/.dtbcache.v2 b/.vs/prog2-ss2020-wienkop/DesignTimeBuild/.dtbcache.v2 index 23aeca6f87a72b62c30231e6aa07ce7a924a9f68..b920141139ae56d16885ade62036fc38d43a2368 100644 Binary files a/.vs/prog2-ss2020-wienkop/DesignTimeBuild/.dtbcache.v2 and b/.vs/prog2-ss2020-wienkop/DesignTimeBuild/.dtbcache.v2 differ diff --git a/.vs/prog2-ss2020-wienkop/v16/.suo b/.vs/prog2-ss2020-wienkop/v16/.suo index ca9913eeabfdc533f06299288c678123de9264b3..1805ae448267046c4cc3b4bdb80ccd096e405e7c 100644 Binary files a/.vs/prog2-ss2020-wienkop/v16/.suo and b/.vs/prog2-ss2020-wienkop/v16/.suo differ diff --git a/01Indexer/obj/Debug/netcoreapp3.1/01Indexer.csprojAssemblyReference.cache b/01Indexer/obj/Debug/netcoreapp3.1/01Indexer.csprojAssemblyReference.cache index 7f0f297190e841544bdf8650ade14a114ad67ff8..d23e9aa07c8d8429276b43b4c93680bc8dead9dc 100644 Binary files a/01Indexer/obj/Debug/netcoreapp3.1/01Indexer.csprojAssemblyReference.cache and b/01Indexer/obj/Debug/netcoreapp3.1/01Indexer.csprojAssemblyReference.cache differ diff --git a/01KlassenWiederholung/obj/Debug/netcoreapp3.1/01KlassenWiederholung.csprojAssemblyReference.cache b/01KlassenWiederholung/obj/Debug/netcoreapp3.1/01KlassenWiederholung.csprojAssemblyReference.cache index 5ca8689e7a51189b128e7f4df3d3c0f1564d1c96..50de7c911265d3d419ff88923e9e05186604d27f 100644 Binary files a/01KlassenWiederholung/obj/Debug/netcoreapp3.1/01KlassenWiederholung.csprojAssemblyReference.cache and b/01KlassenWiederholung/obj/Debug/netcoreapp3.1/01KlassenWiederholung.csprojAssemblyReference.cache differ diff --git a/01OperatorOverloading/obj/Debug/netcoreapp3.1/01OperatorOverloading.csprojAssemblyReference.cache b/01OperatorOverloading/obj/Debug/netcoreapp3.1/01OperatorOverloading.csprojAssemblyReference.cache index 84c2dbfa995747842ad98922685bd675df44120f..261fb667b68660f7adefe3e8be7ab1ee784b53ca 100644 Binary files a/01OperatorOverloading/obj/Debug/netcoreapp3.1/01OperatorOverloading.csprojAssemblyReference.cache and b/01OperatorOverloading/obj/Debug/netcoreapp3.1/01OperatorOverloading.csprojAssemblyReference.cache differ diff --git a/01WPF_Demo/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/01WPF_Demo/obj/Debug/DesignTimeResolveAssemblyReferences.cache index 7ecb8823c7e74842c591027997227ef820353089..a15382e248aa94af941b144fc09b983cb2850f38 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 28d58aefeb25d096925a91f2b9e911eda0e4c6ed..9bb701fecadc48763763df796398b7861ff2f7ec 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/10 UebgMsgServer/10 UebgMsgServer.csproj b/10 UebgMsgServer/10 UebgMsgServer.csproj new file mode 100644 index 0000000000000000000000000000000000000000..6fea2c942ffc6070d366ae3817d5aea3dcea8678 --- /dev/null +++ b/10 UebgMsgServer/10 UebgMsgServer.csproj @@ -0,0 +1,9 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <OutputType>Exe</OutputType> + <TargetFramework>netcoreapp3.1</TargetFramework> + <RootNamespace>_10_UebgMsgServer</RootNamespace> + </PropertyGroup> + +</Project> diff --git a/10 UebgMsgServer/Program.cs b/10 UebgMsgServer/Program.cs new file mode 100644 index 0000000000000000000000000000000000000000..0b4bdce1a7a6ebfaa81ffcb741c6444ce21c48af --- /dev/null +++ b/10 UebgMsgServer/Program.cs @@ -0,0 +1,67 @@ +using System; + +/* + * Gegeben ist das folgende Programm als Grundgerüst eines Nachrichtendienstes. + * Dabei soll gelten: Ein Nachrichtenserver bietet eine Schnittstelle (Delegate), an der beliebig viele + * Nachrichtenempfangsmethoden anderer Klassen andocken können. Bevor Nachrichten jedoch versendet werden, + * können diese mit Hilfe einer oder mehrerer kundenspezifischer Modifikationsfunktionen bearbeitet werden + * (hier wir als Beispiel ein alter Firmenname durch den neuen Firmennamen ersetzt sowie an die Nachrichten + * wird noch ein Anhängsel (Signatur) angehängt. + */ +namespace _10_UebgMsgServer +{ + delegate void Callback(_____________________________________________); + delegate void Transform(_____________________________________________); + class MsgServer + { + public event Callback notify; + public event Transform transformations; + + public void SendMsg(string msg) + { + Console.WriteLine($"\n\n\nNeue Nachricht (Original): {msg}"); + if (transformations != null) + transformations(ref msg); + if (notify != null) + notify(msg); + } + } + class Client + { + public string Name { get; } + public Client(string Name) { this.Name = Name; } + public void Listener(string text) + { + Console.WriteLine($" {Name}: {text}"); + } + } + class Program + { + static void Signature(ref string text) + { + text += "\nMessage via Magic MsgServer, AAA Corporation"; + } + static void OldNewCorp(ref string text) + { + text = text.Replace("ZZZ Corporation", "AAA Corporation"); + } + static void Main(string[] args) + { + MsgServer server1 = new MsgServer(); + server1.transformations += OldNewCorp; + server1.transformations += Signature; + + Client mueller = new Client("Müller"); + Client meier = new Client("Meier"); + Client huber = new Client("Huber"); + server1.notify += mueller.Listener; + server1.notify += meier.Listener; + + server1.SendMsg("Herzlich Willkommen, liebe Kunden! ZZZ Corporation"); + + server1.notify += huber.Listener; + server1.notify -= mueller.Listener; + server1.SendMsg("Wir wünschen einen erfolgreichen Tag, ZZZ Corporation"); + } + } +} diff --git a/10 UebgMsgServer/obj/10 UebgMsgServer.csproj.nuget.dgspec.json b/10 UebgMsgServer/obj/10 UebgMsgServer.csproj.nuget.dgspec.json new file mode 100644 index 0000000000000000000000000000000000000000..f80a85ba9d94037d9c16ee76ce8135ddfeba43eb --- /dev/null +++ b/10 UebgMsgServer/obj/10 UebgMsgServer.csproj.nuget.dgspec.json @@ -0,0 +1,60 @@ +{ + "format": 1, + "restore": { + "C:\\Users\\wienkop\\source\\repos\\prog2-ss2020-wienkop\\10 UebgMsgServer\\10 UebgMsgServer.csproj": {} + }, + "projects": { + "C:\\Users\\wienkop\\source\\repos\\prog2-ss2020-wienkop\\10 UebgMsgServer\\10 UebgMsgServer.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\wienkop\\source\\repos\\prog2-ss2020-wienkop\\10 UebgMsgServer\\10 UebgMsgServer.csproj", + "projectName": "10 UebgMsgServer", + "projectPath": "C:\\Users\\wienkop\\source\\repos\\prog2-ss2020-wienkop\\10 UebgMsgServer\\10 UebgMsgServer.csproj", + "packagesPath": "C:\\Users\\wienkop\\.nuget\\packages\\", + "outputPath": "C:\\Users\\wienkop\\source\\repos\\prog2-ss2020-wienkop\\10 UebgMsgServer\\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/10 UebgMsgServer/obj/10 UebgMsgServer.csproj.nuget.g.props b/10 UebgMsgServer/obj/10 UebgMsgServer.csproj.nuget.g.props new file mode 100644 index 0000000000000000000000000000000000000000..71e2560680d6cba0b1c8f0e4f5c188f730659b86 --- /dev/null +++ b/10 UebgMsgServer/obj/10 UebgMsgServer.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/10 UebgMsgServer/obj/10 UebgMsgServer.csproj.nuget.g.targets b/10 UebgMsgServer/obj/10 UebgMsgServer.csproj.nuget.g.targets new file mode 100644 index 0000000000000000000000000000000000000000..53cfaa19b16f3769b2bfc33db3b5c0053c16fdba --- /dev/null +++ b/10 UebgMsgServer/obj/10 UebgMsgServer.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/10 UebgMsgServer/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs b/10 UebgMsgServer/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs new file mode 100644 index 0000000000000000000000000000000000000000..ad8dfe1a6310302587a2d0c0111d81b250eb4105 --- /dev/null +++ b/10 UebgMsgServer/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/10 UebgMsgServer/obj/Debug/netcoreapp3.1/10 UebgMsgServer.AssemblyInfo.cs b/10 UebgMsgServer/obj/Debug/netcoreapp3.1/10 UebgMsgServer.AssemblyInfo.cs new file mode 100644 index 0000000000000000000000000000000000000000..9c0fefff6284fe0e68465b275162368bf918bd17 --- /dev/null +++ b/10 UebgMsgServer/obj/Debug/netcoreapp3.1/10 UebgMsgServer.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("10 UebgMsgServer")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] +[assembly: System.Reflection.AssemblyProductAttribute("10 UebgMsgServer")] +[assembly: System.Reflection.AssemblyTitleAttribute("10 UebgMsgServer")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// Von der MSBuild WriteCodeFragment-Klasse generiert. + diff --git a/10 UebgMsgServer/obj/Debug/netcoreapp3.1/10 UebgMsgServer.AssemblyInfoInputs.cache b/10 UebgMsgServer/obj/Debug/netcoreapp3.1/10 UebgMsgServer.AssemblyInfoInputs.cache new file mode 100644 index 0000000000000000000000000000000000000000..2e21c9e1d639c01c40bd838143e08d69489f6a3d --- /dev/null +++ b/10 UebgMsgServer/obj/Debug/netcoreapp3.1/10 UebgMsgServer.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +8c6819977effed5376d74351be4414db2bcc0ba8 diff --git a/10 UebgMsgServer/obj/Debug/netcoreapp3.1/10 UebgMsgServer.assets.cache b/10 UebgMsgServer/obj/Debug/netcoreapp3.1/10 UebgMsgServer.assets.cache new file mode 100644 index 0000000000000000000000000000000000000000..da1be941292c061513864cd70dc09ca9b29bdc8d Binary files /dev/null and b/10 UebgMsgServer/obj/Debug/netcoreapp3.1/10 UebgMsgServer.assets.cache differ diff --git a/10 UebgMsgServer/obj/project.assets.json b/10 UebgMsgServer/obj/project.assets.json new file mode 100644 index 0000000000000000000000000000000000000000..5aa017ae4f543058ebbdc5e039539d634c026494 --- /dev/null +++ b/10 UebgMsgServer/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\\10 UebgMsgServer\\10 UebgMsgServer.csproj", + "projectName": "10 UebgMsgServer", + "projectPath": "C:\\Users\\wienkop\\source\\repos\\prog2-ss2020-wienkop\\10 UebgMsgServer\\10 UebgMsgServer.csproj", + "packagesPath": "C:\\Users\\wienkop\\.nuget\\packages\\", + "outputPath": "C:\\Users\\wienkop\\source\\repos\\prog2-ss2020-wienkop\\10 UebgMsgServer\\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/10 UebgMsgServer/obj/project.nuget.cache b/10 UebgMsgServer/obj/project.nuget.cache new file mode 100644 index 0000000000000000000000000000000000000000..18f247bdf8b14566d108f9229b4a6812aec865a1 --- /dev/null +++ b/10 UebgMsgServer/obj/project.nuget.cache @@ -0,0 +1,8 @@ +{ + "version": 2, + "dgSpecHash": "/Sp7c7J/8RkCY6K1VtUtsnY1ht4Ap8MWZNJoZn6+kcygYXnDfW+kU/Z2I9zIg1wEpKNXuFMoskaCXF4lvT9M+A==", + "success": true, + "projectFilePath": "C:\\Users\\wienkop\\source\\repos\\prog2-ss2020-wienkop\\10 UebgMsgServer\\10 UebgMsgServer.csproj", + "expectedPackageFiles": [], + "logs": [] +} \ No newline at end of file diff --git a/prog2-ss2020-wienkop.sln b/prog2-ss2020-wienkop.sln index f8cc40df7db9512f13c6e4fdcfbf806243c38844..96406c0846d1bcb015777cad753bd1315b1b680b 100644 --- a/prog2-ss2020-wienkop.sln +++ b/prog2-ss2020-wienkop.sln @@ -110,7 +110,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "09 UebgDiMailVerteilung", " EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "09 DelegateVerkettung", "09 DelegateVerkettung\09 DelegateVerkettung.csproj", "{17A26633-0F72-4889-B31E-9A29A80CE4A5}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "09DataDriven", "09DataDriven\09DataDriven.csproj", "{4E2ED939-4FFF-4A44-8ACD-13E0CF23E1FB}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "09DataDriven", "09DataDriven\09DataDriven.csproj", "{4E2ED939-4FFF-4A44-8ACD-13E0CF23E1FB}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "10 UebgMsgServer", "10 UebgMsgServer\10 UebgMsgServer.csproj", "{6B7A3A19-6CE7-4F20-9F03-7B091C00B9BE}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -326,6 +328,10 @@ Global {4E2ED939-4FFF-4A44-8ACD-13E0CF23E1FB}.Debug|Any CPU.Build.0 = Debug|Any CPU {4E2ED939-4FFF-4A44-8ACD-13E0CF23E1FB}.Release|Any CPU.ActiveCfg = Release|Any CPU {4E2ED939-4FFF-4A44-8ACD-13E0CF23E1FB}.Release|Any CPU.Build.0 = Release|Any CPU + {6B7A3A19-6CE7-4F20-9F03-7B091C00B9BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6B7A3A19-6CE7-4F20-9F03-7B091C00B9BE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6B7A3A19-6CE7-4F20-9F03-7B091C00B9BE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6B7A3A19-6CE7-4F20-9F03-7B091C00B9BE}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE