반응형

C# 91

0327 _ Callback 구조 파악

1. BookDB 안에 있는 ProcessBooks 메서드에 들어갑니다. 2. ProcessBooks 메서드에 1 의 값이들 먼저 들어온다. foreach 문에서 book으로 list의 값들이 들어간다. 그리고 그 book의 변수를 callback 변수로 받아서 다시 1번의 변수로 콜백을 한다. 3. 첫 메서드에서 사용한 PrintTitle의 메서드의 변수로 2번째 값이 들어간다. 그 변수를 사용하여 출력을 한다. 4. 최종적으로 PrintTitle의 기능이 출력이 된다.

C#/문제해결 2021.03.27

0327_개체 참조가 개체의 인스턴스로 설정되지 않았습니다.

------ 개체 참조가 개체의 인스턴스로 설정되지 않았습니다. 오류는 대부분 참조하려는 객체가 인스턴스 (new) 가 되지 않은 경우가 많다. 위와 같은 상황에서도 BookDB 클래스의 리스트에 book를 넣고, 컴파일을 시도했지만, 오류가 떴다. 이 오류는 list를 변수로 선언만하고, 인스턴스화를 시켜주지 않아서 생기는 오류이다. 위와 같이 생성자 안에 list의 인스턴스르 만들어 주면 된다.

C#/문제해결 2021.03.27

0325_ (미해결)동일한 키를 사용하는 항목이 이미 추가되었습니다.

using Newtonsoft.Json; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace study10 { public class App { public App() { string json = File.ReadAllText("./card_data.json"); var arr = JsonConvert.DeserializeObject(json); var dic = arr.ToDictionary(x => x.id); foreach (var pair in dic) { var data = pair.Value;..

C#/문제해결 2021.03.26

0325_와우퀘스트업그레이드 버전 분석중...

주석으로 분석을 달음 using Newtonsoft.Json; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace study14 { public class DataManager { private static DataManager instance = new DataManager(); // ① 인스턴스를 한번에 만든것 private List list = new List(); private DataManager() { } //public static DataManager GetInstance() // ① 이 ..

C#/C#언어 2021.03.25

0324_ ★ 이벤트의 구조 !!

EventHandler 대리자 public delegate void EventHandler(object? sender, EventArgs e); sender는 어떤 오브젝트가 이 이벤트를 유발키셨는지를 나타나게한다. 다시 말해 이벤트를 보내는 객체 여러개의 버튼을 한가지 이벤트 함수를 공유하고 있을 때, 어느 버튼에 의해서 유발되엇는지를 알 수 있는 방법ㅂ은 sender를 확인하는 것 즉, 누가 이벤트를 부르고 있느냐에 대한 정보. e 는 EventArgs 형으로 이벤트 발생과 관련된 정보를 가지고 있다. 즉 이벤트 핸들러가 사용하는 파라미터이다. 다시말해, EventArgs 는 정보 값을 가지고있는 것이다. ------ 이벤트도 결국 대리자이기 때문에 메서드가 들어가게 된다. sender 와 Args를..

C#/C#언어 2021.03.24

0324 _ 복습 //

멀티캐스트 대리자 대리자 하나에 여러개 메소드를 넣는다. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace study12 { //대리자 선언 public delegate void GoHome(); class CarDriver { public static void GoLeft() { Console.WriteLine("좌회전"); } public static void GoRignt() { Console.WriteLine("우회전"); } public static void GoForward() { Console.WriteLine("앞으로..

C#/C#언어 2021.03.24

0323_ 람다식 연습

1. Action 델리게이트 생성 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace study8 { public class App { public App() { //대리자 초기화 Action hello = this.SayHello; //대리차 호출 hello(); } private void SayHello() { Console.WriteLine("Say hello!"); } } } ---- 2.익명과 람다식으로 대리자 초기화 -> 호출 using System; using System.Collections.Generic; using ..

C#/수업과제 2021.03.24
반응형