Inflearn brand logo image

인프런 커뮤니티 질문&답변

송유승님의 프로필 이미지
송유승

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

Event (이벤트)

static 에러

작성

·

396

0

using System;

namespace ConsoleApp1

{

    class Program

    {

        public delegate void OnInputKey(); 

        public static event OnInputKey InputKey;

        static void TargetFunc() => Console.WriteLine("input received");

        static void Main()

        {

            InputKey += TargetFunc; 

            while (true)

            {

                Update();

            }

        }

        public static void Update()

        {

            if (Console.KeyAvailable == false)

            {

                return;

            }

            ConsoleKeyInfo info = Console.ReadKey();

            if (info.Key == ConsoleKey.A)

            {

                InputKey(); 

            }

        }

    }

}

제가 예문의 InputManager 클래스 안의 것을 전부 Program 클래스 안으로 몰아 넣어서 기능하다록 코드를 재구성 해봤는데, 여기서 InputKey와 TargetFunc 함수 선언부에 static을 붙이지 않으면 

"static이 아닌 필드 메서드 또는 속성 에 개체 참조가 필요합니다" 라는 에러가 뜨더라구요 

왜그런건가요?

답변 2

0

송유승님의 프로필 이미지
송유승
질문자

감사합니다!

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

유사한 상황에 대한 질문(static 관련)이 올라온 기억이 있어,
답변을 링크로 대체 드립니다.

https://www.inflearn.com/questions/97965

송유승님의 프로필 이미지
송유승

작성한 질문수

질문하기