我需要从VS2010 C#项目访问第三方非托管DLL的某些方法和属性。在我将DLL添加到引用之后尝试访问它时,一个属性特别“消失”。我正在使用MS VS2010,目标平台是XP SP3 x86。
在.NET VB中,Item属性显示为
Item([Object], [Object]) As Object
或
ReadOnly Default Property Item(Optional ByVal Name As Object = Nothing, Optional ByVal Index As Object = Nothing) As Object
我可以毫无问题地使用它。 但是,在C#中,此属性消失,我能找到的最接近的属性变为
this[[object], [object]]
或
dynamic this[[object Name = System.Type.Missing], [object Index = System.Type.Missing]] { get; }
如何在C#项目中访问此属性?感谢。
答案 0 :(得分:2)
VB.NET中的Item属性是C#中的索引器。 因此,以下VB.NET和C#代码是等效的:
/* VB.NET */
yourObject.Item(o1, o2)
/* C# */
yourObject[o1, o2];
答案 1 :(得分:0)
这是indexer,可以像这样访问。
var yourObj = new SomeObject();
var item = yourObj[value1,value2];
换句话说,您只需在对象变量本身之后使用[]
括号,而不是Item()