ÀÎÅÍÆäÀ̽º ³»¿¡ Àε¦¼ ¶ÇÇÑ Ãß°¡ µÉ ¼ö ÀÖ½À´Ï´Ù. Àε¦¼¸¦ Ãß°¡Çϱâ À§Çؼ´Â Àε¦¼ÀÇ ÇÁ·ÎÅäŸÀÔ¸¸À» ÀÎÅÍÆäÀ̽º¿¡ ¸í½ÃÇÑ ÈÄ À̸¦ ±¸Çö(Implementation)ÇÏ¸é µË´Ï´Ù. Àε¦¼°¡ Ãß°¡µÈ ÀÎÅÍÆäÀ̽º´Â ´ÙÀ½°ú °°½À´Ï´Ù.
n public interface SimpleInterface{
n object this[int index] { get; set; }//Àε¦¼
n }
´ÙÀ½Àº ÀÎÅÍÆäÀ̽º ³»¿¡ Àε¦¼ÀÇ ÇÁ·ÎÅäŸÀÔÀ» »ðÀÔÇϰí À̸¦ ±¸ÇöÇÑ ¿¹Á¦ÀÔ´Ï´Ù.
|
& |
InterfaceIndexerTest.cs |
Ü Indexer¸¦ Å×½ºÆ®ÇÑ ¿¹Á¦ |
|
using System; using System.Collections; public interface SimpleInterface{ object this[int index] { get; set; }//Àε¦¼ } public class SimpleIndexer : SimpleInterface{ ArrayList lname = new ArrayList(); public object this[int index]{ get{ if (index >-1 & index<lname.Count) {//¹üÀ§³»¿¡ ÀÖ´Â °Í return lname[index]; }else{ return null; } } set{ if(index>-1 & index<lname.Count){//¹üÀ§³»¿¡ Àִ°ÍÀº º¯°æµÊ lname[index] = value; } else if (index == lname.Count){//¼ø¼´ë·Î Çϳª¾¿ Ãß°¡ÇÏ¸é µÊ lname.Add(value); } else {//¼ø¼´ë·Î°¡ ¾Æ´Ï¸é Console.WriteLine("sid["+index+"] : ÀÔ·Â ¹üÀ§ Ãʰú ¿¡·¯!!"); } } } } class InterfaceIndexerTest { public static void SimpleIndexer sid = new SimpleIndexer(); sid[0]= "hong"; sid[1]= "kim"; sid[2]= "sung"; sid[10] = "park"; // ¹üÀ§Ãʰú Console.WriteLine("----getting----"); Console.WriteLine(sid[0]); Console.WriteLine(sid[1]); Console.WriteLine(sid[2]); }//main }//class | ||
|
C:\C#Example\05>csc InterfaceIndexerTest.cs C:\C#Example\05>InterfaceIndexerTest sid[10] : ÀÔ·Â ¹üÀ§ Ãʰú ¿¡·¯!! ----getting---- hong kim sung | ||
À§ÀÇ ¿¹Á¦´Â 5.6ÀýÀÇ Àε¦¼ ±¸Çö¿¡¼ ÀÎÅÍÆäÀ̽º¸¸À» Ãß°¡ÇÑ ¿¹Á¦ÀÔ´Ï´Ù. 5.6ÀýÀÇ ¿¹Á¦¿Í ºñ±³ÇÏ¸é¼ º¸½Ã±â ¹Ù¶ø´Ï´Ù.
| jabookÀúÀÚ¸íÇÔ |
|
Á¦¸ñ:¼Ò¼³°°ÀºC# Á¦5°ÀÇ ÀúÀÚ:ÃÖ¿µ°ü |