event keyword
This commit is contained in:
@@ -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}");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@@ -44,6 +44,7 @@
|
||||
<ItemGroup>
|
||||
<Compile Include="BasicDelegate.cs" />
|
||||
<Compile Include="BasicEvent.cs" />
|
||||
<Compile Include="BasicLambda.cs" />
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
|
@@ -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();
|
||||
}
|
||||
|
Reference in New Issue
Block a user