XXX не содержит определения и метода расширения - PullRequest
0 голосов
/ 07 апреля 2011

Мне нужен доступ к некоторым методам и свойствам сторонней неуправляемой DLL из моего проекта VS2010 C #. Одно свойство, в частности, «исчезает» при попытке доступа к нему после того, как я добавил 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 #? Спасибо.

Ответы [ 2 ]

2 голосов
/ 07 апреля 2011

Свойство Item в VB.NET является индексатором в C #.Итак, следующие коды VB.NET и C # эквивалентны:

/* VB.NET */
yourObject.Item(o1, o2)

/* C# */
yourObject[o1, o2];
0 голосов
/ 07 апреля 2011

это индексатор , доступ к которому можно получить следующим образом.

var yourObj = new SomeObject();
var item = yourObj[value1,value2];

Другими словами, вы просто используете [] скобки после самой переменной объекта, а не Item()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...