제목이 잘못되었으므로 올바른 용어를 표시하십시오.C# 일반 클래스의 인스턴스 만들기
나는 제네릭 형식 T
을 받아 DAL_Base라는 기본 클래스를 가지고있다. 유형 T
은 Business Objects 계층의 많은 클래스에서 가져 오며 각 클래스에는 해당하는 데이터 액세스 계층이 있습니다.
DAL_Base은 레코드 선택, 삽입 및 업데이트 방법을 호출하는 데 사용하는 저장 프로 시저 이름과 매개 변수를 지정할 수있는 매개 변수를 허용합니다.
현재 붙어있는 것 같습니다. DAL_Base의 새로운 인스턴스를 인스턴스화하는 방법을 찾을 수없는 것 같습니다. 다양한 변수를 초기화해야합니다.
부분 목록 :
public class DAL_Base<T> where T : IDisposable, new() {
public DAL_Base<T>() { // <= ERROR HERE
// initialize items that will be used in all derived classes
}
}
오류 VS2010 나에게주고있다이다 :
는이잘못된 토큰 '('
클래스, 구조체 또는 인터페이스 멤버 선언에 내가 이 괄호없이 생성자를 만들려고했지만 유용하지는 않습니다.
검색 할 때 반환 할 수있는 것만 큼 제네릭 유형 T
의 인스턴스를 만드는 방법입니다. 어떻게하는지 쉽게 알 수있었습니다!
MSDN의 An Introduction to C# Generics도이 문제를 다루지 않았습니다.
일반 제목이나 구조체의 인스턴스 생성자 작성 _ 필요하다면 동일한 정적 구문이 물론'정적 '생성자에 사용됩니다. ** 생성자 **는 사람들이'new' 객체 표현식을 작성할 때 실행되는 메소드와 같은 멤버입니다. –