我正在尝试在c#web应用程序中导入一个dll。我遵循的步骤:
我能够看到大部分功能和变量但有些缺失。我在VB Web应用程序中尝试了相同的方法,并在那里工作正常。下面是我在C#中的代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Diagnostics;
using PPDSDUALLib; <-- My dll imported.
PPDSDUALLib.Property oProp;
oProp = oComp.Property[i]; <-- error line, Component doesn't contain definition for Property.
但是在VB Web应用程序中也能正常工作。
编辑:
感谢所有回复。
我在“对象浏览器”中查看了详细结构,并且知道'Property'是oComp的默认值,因此在c#中不可见。 我认为c#和VB导入dll的方式有所不同(对此不太确定)。 VB显示默认属性,而c#将其转换为索引。我能够使用
显示第一个值oComp[0].Name;
但是如果我将索引更改为0以外的任何值,则会出错。请帮忙。
答案 0 :(得分:0)
我找到了答案,这是变量类型中的错误。
它必须是自定义的枚举类型而不是int。
以下代码是正确的:
for (i = 0; i < oComp.PropertyCount-1; i++)
{
j = (enum_type)i;
String name = oComp[j].Name;
s = name;
Debug.WriteLine("Name = " + s);
}//end of for
感谢所有回复。