我试图从 .NET 程序集中返回一组部门,以供 ASP 通过 COM 互操作使用。使用 .NET 我只会返回一个泛型集合,例如List<Department>
,但泛型似乎不适用于 COM 互操作。那么,我有哪些选择?
我想遍历列表并能够按索引访问项目。我应该继承、List<Department>
实现一个或另一个接口,还是有更好的方法?理想情况下,我宁愿不必为我需要的每种类型的列表实现自定义集合。此外,甚至可以与 COM Interop 一起使用吗?IList
IList<Department>
List[index]
谢谢,迈克
.NET 组件示例 (C#):
public class Department {
public string Code { get; private set; }
public string Name { get; private set; }
// ...
}
public class MyLibrary {
public List<Department> GetDepartments() {
// return a list of Departments from the database
}
}
示例 ASP 代码:
<%
Function PrintDepartments(departments)
Dim department
For Each department In departments
Response.Write(department.Code & ": " & department.Name & "<br />")
Next
End Function
Dim myLibrary, departments
Set myLibrary = Server.CreateObject("MyAssembly.MyLibrary")
Set departments = myLibrary.GetDepartments()
%>
<h1>Departments</h1>
<% Call PrintDepartments(departments) %>
<h1>The third department</h1>
<%= departments(2).Name %>