는 내가 그 문제가 일부 해결하려면 어떻게 우는 소리권투 언 박싱 제네릭은
public interface IFoo
{
int One { get; set; }
string Two { get; set; }
}
public class Foo : IFoo
{
public int One { get; set; }
public string Two { get; set; }
}
public class SomeDto<T>
where T : IFoo
{
public T Fik { get; set; }
public string Faj { get; set; }
}
class Program
{
static void Main(string[] args)
{
var fik = new SomeDto<Foo>() { Fik = new Foo() { One = 1, Two = "ss" }, Faj = "ss" };
var obj = (Object)fik;
// the problematic part
//=======================
var fikl = fik as SomeDto<IFoo>; //do something like that
//or
var fikl = (SomeDto<IFoo>)fik; //do something like that
}
}
과 같은 코드를 가지고 인터페이스합니다. 제네릭 클래스의 언 박싱을 허용하지만 인터페이스와 같은 좀 더 일반적인 것을 만들 수 있습니다.
제네릭에 따라 데이터 소스가있는 콤보 상자가 있기 때문에이 항목이 필요합니다. 그리고 그 목록에있는 아이템을 일반적인 속성 값으로 사용해야합니다.
당신이 지금 IFoo의 인터페이스로 SomeDto에 FIK을 기대 :
그래서 당신은 그런
IDto<IFoo>
에IDto<Foo>
을 할당 할 수 있습니다 : 예를를 들어 ? 너는 그렇게 할 수 없다. – Dispersia그냥 알려주세요 - 복싱과 언 박싱이라는 용어는 완전히 다른 것을 말합니다. – Stilgar