diff --git a/BasicGramms/BasicGramms/BasicEvent.cs b/BasicGramms/BasicGramms/BasicEvent.cs index 268df7a..db42851 100644 --- a/BasicGramms/BasicGramms/BasicEvent.cs +++ b/BasicGramms/BasicGramms/BasicEvent.cs @@ -10,7 +10,8 @@ namespace BasicGramms internal class BasicEvent { - public event Handler EV; + //public event Handler EV; // event 키워드가 없는 경우, 클래스 외부에서 함수 직접 호출이 가능하게됨. (OOP 위반) + public Handler EV; public void DoTest() { @@ -25,9 +26,32 @@ namespace BasicGramms EV($"Event message: {msg}"); } - public void WriteConosle(string msg) + private void WriteConosle(string msg) { Console.WriteLine(msg); } } + + internal class BasicEventUser + { + private BasicEvent Basic = new BasicEvent(); + + public BasicEventUser() + { + this.Basic.EV += WriteConsole; + this.Basic.EV += WriteConsole; + this.Basic.EV += WriteConsole; + } + + public void DoTest() + { + Basic.EV("Test done"); + } + + private void WriteConsole(string msg) + { + Console.WriteLine($"ByUser: {msg}"); + } + + } } diff --git a/BasicGramms/BasicGramms/BasicGramms.csproj b/BasicGramms/BasicGramms/BasicGramms.csproj index 9b5a9d1..c053c63 100644 --- a/BasicGramms/BasicGramms/BasicGramms.csproj +++ b/BasicGramms/BasicGramms/BasicGramms.csproj @@ -44,6 +44,7 @@ + diff --git a/BasicGramms/BasicGramms/Program.cs b/BasicGramms/BasicGramms/Program.cs index fd0fd39..8e9378c 100644 --- a/BasicGramms/BasicGramms/Program.cs +++ b/BasicGramms/BasicGramms/Program.cs @@ -13,8 +13,11 @@ namespace BasicGramms //BasicDelegate del = new BasicDelegate(); //del.DoTest(); - BasicEvent evt = new BasicEvent(); - evt.DoTest(); + //BasicEvent evt = new BasicEvent(); + //evt.DoTest(); + + BasicEventUser evtUser = new BasicEventUser(); + evtUser.DoTest(); Console.ReadKey(); }