.NET
[.NET] Clone
WooGong Peter
2017. 5. 31. 18:08
안녕하셔요?
Object instance 의 Copy 에 대해서 알아보려고 합니다.
Clone 이죠.
Object 를 "=" 을 사용해서 대입하면 주소값이 들어가므로 그 값들을 다른 instance로 복사하기 위한 작업입니다.
Key Point 는 "ICloneable" interface 를 구현한다는 것인데요.
바로 Source 를 보도록 하겠습니다.
- public class MyBuffer : ICloneable
- {
- public int id;
- public List<String> items;
- public MyBuffer()
- {
- id = 0;
- items = new List<String>();
- }
- public bool IsEmpty
- {
- get { return items.Count == 0; }
- }
- public void Clear()
- {
- id = 0;
- items = new List<String>();
- }
- public MyBuffer Clone()
- {
- return (MyBuffer)this.MemberwiseClone();
- }
- object ICloneable.Clone()
- {
- return Clone();
- }
- }
이 녀석을 호출하는 것도 살펴봐야겠죠?
- public MyBuffer SomeFunction()
- {
- MyBuffer myBuffer = new MyBuffer();
- myBuffer.id = 0;
- myBuffer.items.Add("AAA");
- myBuffer.items.Add("BBB");
- myBuffer.items.Add("CCC");
- myBuffer.items.Add("DDD");
- MyBuffer cloneBuffer = myBuffer.Clone();
- myBuffer.Clear();
- return cloneBuffer;
- }
글자 보기가 조금 그렇네요. ㅡㅡ;
Copy As Html 기능을 사용한건데 VisualStudio 테마으 글자 색을 따라가다 보니 저렇게 나오는 듯합니다.
CSS 를 한번 살펴봐야겠군요.
행복한 고수되셔요. ^^;
woojja ))*
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
반응형