A-Dyu의 개발 일기장

[C#] CS0308,CS0305 오류 본문

C#/C# 오류

[C#] CS0308,CS0305 오류

ADyu 2025. 2. 13. 22:23

CS0308,CS0305 오류는 모두 제네릭에 관련된 오류다.

CS0308은 제네릭이 아닌 클래스 또는 메서드에서 형식 인수를 사용할 때 일어난다.

//일반 클래스
class MyClass{
    //member valuable, method
}

class Program{
    public static void Main(string[] args){
        MyClass<int> myClass = new MyClass<int>();//CS0308
        //제네릭 클래스가 아니지만 형식 인수를 사용함
    }
}

CS0305는 반대로 형식 인수가 필요한 클래스 또는 메서드에서 형식 인수 없이 사용했을때 일어난다.

//제네릭 클래스
class MyClass<T>{
    //member valuable, method
}

class Program{
    public static void Main(string[] args){
        MyClass myClass = new MyClass();//CS0305
        //제네릭 클래스이지만 아니지만 형식 인수를 사용하지 않음
    }
}