2016-05-16 63 views
0

我很挣扎。得到属于ISet类型(String)的属性,我需要为它们赋值。创建ISet实例(字符串)

.Add() 

抛出空链接错误,因为它不会被实例化,一直在试图创建一个实例,指定值与设定的()通过,但

Activator.CreateInstance(Type.GetType(MyClass.MyProperty) 

抛出空链接。这个解决方案Visual Basic: dynamically create objects using a string as the name没有工作,我输出列表和ISet根本就没有。
我一直在试图解决这一段时间了。

+2

实现该属性的类应该初始化底层对象,而不是消费代码。 'ISet'是一个接口,所以你可以用它来声明对象并投射给它,但你不能创建它们的实例。它们只是给定类型(类)将实现的方法和属性的合约。 – Plutonix

回答

1

接口不完全定义对象。它们只定义了一个对象的一部分,因此您没有足够的信息从它自己的接口创建一个实例。

你需要做的是找到一个类型,实现接口,并创建其中的一个... HashSet(Of String)SortedSet(Of String)都将工作。

+0

谢谢,新的HashSet(字符串)工作 – Stan