동적 유형의 필드가있는 배열을 구체화하는 데 Activator.CreateInstance()
을 사용하려고합니다. 배열 필드에 동적 유형을 사용해야합니다. 런타임은 Type arrayType = arrayFieldType.MakeArrayType()
).동적 유형 (런타임 바인딩) 배열을 인스턴스화 할 때 RuntimeBinderException
singleSet.ZaznamyObjektu = Activator.CreateInstance(arrayType, new object[] { rowCount });
내가 How do I create a C# array using Reflection and only type info?에 따라이 방법을 선택했습니다. (rowCount
는 정수) 그러나 그것은 나에게 RuntimeBinderException주고 유지 :
암시 'PodperneZarizeniTypeZaznamObjektu []'에 유형 '개체'변환 할 수 없습니다 있습니다. 명시 적 변환이 존재합니다 (캐스트를 놓치셨습니까?)
그러나 형식의 정확한 이름을 사용할 수없는 경우 형 변환 또는 변환하는 방법을 모르겠습니다. 또한 Array.CreateInstance()
를 사용하려고했지만 그것은 나에게 유사한 예외주고 있었다 :
암시 'PodperneZarizeniTypeZaznamObjektu []'에 유형 'System.Array'을 변환 할 수 없습니다 있습니다. 명시 적 변환 (? 당신은 캐스트를 누락)이 존재
'singleSet.ZaznamyObjektu'의 유형은 무엇입니까? – InBetween
PodperneZarizeniTypeZaznamObjektu [] –