class A { }
class B { public void EF(int i) { } }
class C { public void EF(object obj) { } }
static class E
{
public static void EF(this object obj, int i) { }
public static void EF(this object obj, string s) { }
}
class Program
{
static void Main(string[] args)
{
A a = new A(); a.EF(10); a.EF("¾È³ç");
B b = new B(); b.EF(100); b.EF("¾È³ç");
C c = new C(); c.EF(1000); c.EF("¾È³ç");
}
À§ ¼Ò½º¿¡¼ b°¡ 100À» È£ÃâÇÏ´Â °÷Àº ÀÚ½ÅÀÇ BŬ·¡½ºÀÌ°í
¾È³çÀ» È£ÃâÇÏ´Â °÷Àº E Ŭ·¡½ºÀε¥
±×·³ EŬ·¡½ºÀÇ this object objÀÇ ¿ªÇÒÀº ¹«¾ùÀΰ¡¿ä?
ÀÌ Å°¿öµå°¡ È®Àå¸Þ¼µåÀÇ ¾à¼ÓµÈ Å°¿öµåÀΰ¡¿ä?
±×¸®°í ¾î¶»°Ô Çؼ®ÇÏ¸é µÇ³ª¿ä?
|