«covariance» 태그된 질문

공분산, 반공 변성 및 불변성은 일부 변환 (예 : 제네릭 내 사용)을받을 때 기존 유형 상속 계층이 어떻게 변경되는지를 설명합니다. 변환이 원래 계층 구조의 순서를 유지하는 경우 "공변"입니다. 반대로하면 "반 변성"입니다. 깨지면 "불변"입니다.

14
C #에서 List <string> 개체를 List <object> 변수에 저장할 수없는 이유
List 개체는 C #의 List 변수에 저장할 수 없으며 명시 적으로 캐스팅 할 수도 없습니다. List&lt;string&gt; sl = new List&lt;string&gt;(); List&lt;object&gt; ol; ol = sl; 암시 적으로 유형 System.Collections.Generic.List&lt;string&gt;을 다음으로 변환 할 수 없음System.Collections.Generic.List&lt;object&gt; 그리고... List&lt;string&gt; sl = new List&lt;string&gt;(); List&lt;object&gt; ol; ol = (List&lt;object&gt;)sl; 유형 System.Collections.Generic.List&lt;string&gt;을 다음으로 변환 할 …

9
C #은 반환 형식 공분산을 지원합니까?
저는 .NET 프레임 워크로 작업하고 있으며 모든 웹 사이트에서 사용하는 사용자 지정 유형의 페이지를 만들고 싶습니다. 컨트롤에서 페이지에 액세스하려고 할 때 문제가 발생합니다. 기본 페이지 대신 특정 유형의 페이지를 반환하고 싶습니다. 이것을 할 방법이 있습니까? public class MyPage : Page { // My own logic } public class MyControl : …
84 c#  covariance 

15
C # : 반환 형식 재정의
C #에서 반환 형식을 재정의하는 방법이 있습니까? 그렇다면 어떻게, 그렇지 않은 경우 권장되는 방법은 무엇입니까? 제 경우에는 추상 기본 클래스와 그 자손이있는 인터페이스가 있습니다. 나는 이것을하고 싶다 (실제로는 아니지만 예를 들어!) : public interface Animal { Poo Excrement { get; } } public class AnimalBase { public virtual Poo Excrement …

1
ValueTuple 공 변형은 무엇입니까?
이것은 C # 7.3 (프레임 워크 4.8)에서 올바르게 컴파일됩니다. (string, string) s = ("a", "b"); (object, string) o = s; 나는 이것이 다음에 대한 구문 설탕이며 올바르게 컴파일된다는 것을 알고 있습니다. ValueTuple&lt;string, string&gt; s = new ValueTuple&lt;string, string&gt;("a", "b"); ValueTuple&lt;object, string&gt; o = s; 그래서, ValueTuples가 할당 될 수 있다는 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.