일반 인터페이스가 있고 구현 된 데이터 유형 목록을 갖고 싶습니다. 다음 코드를 사용하면 어떤 형식도 반환되지 않습니다. 내가 돈을 여기에 잘못된 일을 왜하고 무엇구현 된 유형의 일반 인터페이스 가져 오기
:
public class DecimalConverter : IDataTypeConverter, IDataTypeConverter<decimal>
{
...
}
인터페이스는 자아 (종류 t)는
var type = typeof (IDataTypeConverter<>);
var types = AppDomain.CurrentDomain.GetAssemblies()
.SelectMany(x => x.GetTypes())
.Where(x => type.IsAssignableFrom(x) && !x.IsInterface);
foreach (var t in types)
{
var instance = (IDataTypeConverter)Activator.CreateInstance(t);
PropertiesConverter.Add(t, instance);
}
이 인터페이스의 구현의 예입니다 내 목록에서 십진수를 유형으로 가져 오지 않습니까?
I 인터페이스의 종류를 얻을 수있는 방법을 어떤 생각? IDataTypeConverter = DecimalConverter 대신 십진수 –
Freddy
@ Freddy : 네가 인터페이스 유형을 지정하면 ['GetGenericArguments()'] (http://msdn.microsoft.com/en-us/library/system.type)을 사용할 수 있습니다. .getgenericarguments.aspx)를 사용하여 'decimal' 일반 인수를 가져옵니다. –