• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

static 에러

21.01.30 21:31 작성 조회수 195

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

송유승님의 프로필

송유승

질문자

2021.01.30

감사합니다!

0

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

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