diff --git a/BasicGramms/BasicGramms.sln b/BasicGramms/BasicGramms.sln new file mode 100644 index 0000000..3e18686 --- /dev/null +++ b/BasicGramms/BasicGramms.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.3.32929.385 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BasicGramms", "BasicGramms\BasicGramms.csproj", "{05D6D9FB-B7F3-46DF-B3FE-65D1246F977C}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {05D6D9FB-B7F3-46DF-B3FE-65D1246F977C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {05D6D9FB-B7F3-46DF-B3FE-65D1246F977C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {05D6D9FB-B7F3-46DF-B3FE-65D1246F977C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {05D6D9FB-B7F3-46DF-B3FE-65D1246F977C}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {BBA9568B-D705-412E-8C14-D3E0405C1B2F} + EndGlobalSection +EndGlobal diff --git a/BasicGramms/BasicGramms/App.config b/BasicGramms/BasicGramms/App.config new file mode 100644 index 0000000..8e15646 --- /dev/null +++ b/BasicGramms/BasicGramms/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/BasicGramms/BasicGramms/BasicDelegate.cs b/BasicGramms/BasicGramms/BasicDelegate.cs new file mode 100644 index 0000000..03e118d --- /dev/null +++ b/BasicGramms/BasicGramms/BasicDelegate.cs @@ -0,0 +1,68 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace BasicGramms +{ + public delegate string ConcatMsg(string str, int num); + public delegate void DelegateMethod(); + public delegate void DelegateCallback(string str); + public delegate int DelegateMultiply(int x, int y); + internal class BasicDelegate + { + public void DoTest() + { + ConcatMsg concatMsg = new ConcatMsg(Msg); + + Console.WriteLine(concatMsg("Huffman", 45)); + + DelegateMethod delegateMethod = Msg1; + delegateMethod += Msg2; + delegateMethod += Msg3; + delegateMethod -= Msg2; + delegateMethod(); + + DelegateCallback callback = Msg_Callback; + SumMethod(1, 6, callback); + + DelegateMultiply delegateMultiply = delegate (int x, int y) + { + return x * y; + }; + Console.WriteLine(delegateMultiply(5, 7)); + } + + public string Msg(string str, int num) + { + return $"Name: {str}, Age: {num}"; + } + + public void Msg1() + { + Console.WriteLine("1"); + } + + public void Msg2() + { + Console.WriteLine("2"); + } + + public void Msg3() + { + Console.WriteLine("3"); + } + + public void Msg_Callback(string str) + { + Console.WriteLine(str); + } + + public void SumMethod(int x, int y, DelegateCallback callback) + { + int sum = x + y; + callback($"Result: {sum}"); + } + } +} diff --git a/BasicGramms/BasicGramms/BasicGramms.csproj b/BasicGramms/BasicGramms/BasicGramms.csproj new file mode 100644 index 0000000..8ddb962 --- /dev/null +++ b/BasicGramms/BasicGramms/BasicGramms.csproj @@ -0,0 +1,53 @@ + + + + + Debug + AnyCPU + {05D6D9FB-B7F3-46DF-B3FE-65D1246F977C} + Exe + BasicGramms + BasicGramms + v4.5 + 512 + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/BasicGramms/BasicGramms/Program.cs b/BasicGramms/BasicGramms/Program.cs new file mode 100644 index 0000000..2d79c37 --- /dev/null +++ b/BasicGramms/BasicGramms/Program.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace BasicGramms +{ + internal class Program + { + static void Main(string[] args) + { + BasicDelegate test = new BasicDelegate(); + test.DoTest(); + + Console.ReadKey(); + } + } +} diff --git a/BasicGramms/BasicGramms/Properties/AssemblyInfo.cs b/BasicGramms/BasicGramms/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..29d714a --- /dev/null +++ b/BasicGramms/BasicGramms/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해 +// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면 +// 이러한 특성 값을 변경하세요. +[assembly: AssemblyTitle("BasicGramms")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("BasicGramms")] +[assembly: AssemblyCopyright("Copyright © 2023")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에 +// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면 +// 해당 형식에 대해 ComVisible 특성을 true로 설정하세요. +[assembly: ComVisible(false)] + +// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다. +[assembly: Guid("05d6d9fb-b7f3-46df-b3fe-65d1246f977c")] + +// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다. +// +// 주 버전 +// 부 버전 +// 빌드 번호 +// 수정 버전 +// +// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를 +// 기본값으로 할 수 있습니다. +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")]