C#/문제 해결

개체 이니셜라이져

Game Client Lee Hwanguk 2023. 1. 13. 02:11

#개체 이니셜라이져를 만드려는데 오류가 생긴다

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json; //꼭 작성해야한다
using System.IO; //꼭 작성해야한다
using System.Runtime.Serialization.Formatters.Binary;

namespace Study14
{
    class App
    {
        public App()
        {
            //#1 직렬화(byte 형태로 데이터를 변환)
            //객체를 만들고 직렬화 해서 JSON형식 (문자열) 파일로 저장 
            //직렬화 : 아이템 객체를 넣어 주면 json문자열을 반환 
            //저장 
            //1. 인스턴스 생성(스트림을 만든다),(스트림=데이터가 지나가는 통로)
            Item item0 = new Item("spear", 12);
            Item item1 = new Item("shield", 0);
            Item item2 = new Item("sword", 15);
            Item item3 = new Item{ Name = "dagger", Damage = 2 }; //개체 이니셜라이저
            //2.객체를 직렬화한다

            ////3.출력으로 확인

            ////4.파일 저장



            //#2 역직렬화(byte로 변환된 Data를 원래대로 Object나 Data로 변환)
            //역직렬화 
            //문자열 -> 객체 

            //역직렬화 
            //리스트를 다시 json으로 
            //json으로 잘 변환된건지 출력해보자






        }
    }
}

 

#왜 오류가나는지 찾을수가없다 ... 인자,매개변수는 아는데 인수는 뭘까 ?

https://learn.microsoft.com/ko-kr/dotnet/csharp/programming-guide/classes-and-structs/named-and-optional-arguments

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace Study14
{
    //직렬화 대상 
    class Item
    {
        public string Name //프로퍼티 (자동구현)
        {
            get; set;
        }
        public int Damage
        {
            get; set;
        }
        //저장될 맴버(필드)는 public이여야 함 

        //생성자 
        public Item(string Name, int Damage)
        {
            this.Name = Name;
            this.Damage = Damage;


        }
        
    }
}