Q & A

시삽: 레드플러스 님 
게시판 이동:
 제목 : Re : 759page 질문입니다.
글번호: 1045
작성자: 레드플러스
작성일: 2022/03/17 오후 6:15:00
조회수: 1945

인터페이스를 만들 때, 다음 두 코드는 같은 내용입니다. 

public interface IBreadShop<T>

 

public interface IBreadShop<T> where T : class

단, 뒤에 where T : class 구문은 T에 대한 제약조건을 나타냅니다.

그래서, 다음 코드 형태로 T 자리에 모델 클래스가 아닌 기타 모든 타입이 오면 에러가 발생합니다. 

예를 들어 다음 코드처럼 T 자리에 struct 타입인 int 등이 오면 에러가 발생합니다.

public class Test : IBreadShop<int> { ... }

 

결론적으로, IBreadShop of T 형태에서 T는 반드시 클래스여야 한다를 제약 조건으로 주고자 할 때,

where T : class 구문을 덧붙이는거라고 보면 됩니다.

 

책의 내용과 더불어 추가적인 정보는

Microsoft Docs의 다음 내용도 참고해보세요.

https://docs.microsoft.com/ko-kr/dotnet/csharp/language-reference/keywords/where-generic-type-constraint

 


On 2022-03-17 오후 5:35:00, '최낙훈' wrote:

 

 


public interface IBreadShop<T> where T : class

이 내용이 무슨 의미인지 잘 모르겠습니다.

 

657페이지에 int는 값형식으로 하여 error가 안난다고 하셨는데

759페이에서는 int를 참조형식으로 사용해도 error가 안나더라고요.

 

둘 다 값을 초기화 안시켰는데 왜 두 개가 다른건가요?

 

 
이전 글   다음 글 삭제 수정 답변 글쓰기 리스트

(댓글을 남기려면 로그인이 필요합니다.)

관련 아티클 리스트
  제       목 파일 작성자 작성일 조회
이전글 Invoke, Begininvoke, Thread 차이점에 대해... - 김상태 2022-03-21 2236
  759page 질문입니다. - 최낙훈 2022-03-17 2020
현재글 Re : 759page 질문입니다. - 레드플러스 2022-03-17 1945
다음글 (삭제된 글입니다.) - (Unknown) 2022-03-17 1989
 
손님 사용자 Anonymous (손님)
로그인 Home