Я пытаюсь вернуть коллекцию отделов из сборки .NET для использования ASP через COM Interop. Используя .NET, я бы просто вернул общую коллекцию, например, List<Department>
, но похоже, что дженерики плохо работают с COM Interop. Итак, какие у меня варианты?
Я бы хотел пройтись по списку и получить доступ к элементу по индексу. Должен ли я наследовать от List<Department>
, реализовать IList
, IList<Department>
или другой интерфейс, или есть лучший способ? В идеале я бы предпочел не создавать собственную коллекцию для каждого типа списка, который мне нужен. Кроме того, List[index]
будет работать даже с COM Interop?
Спасибо,
Mike
Пример компонентов .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 %>
Похожие вопросы: