COM 相互運用機能を介して ASP によって消費される .NET アセンブリから部門のコレクションを返そうとしています。.NET を使用すると、たとえば、ジェネリック コレクションを返すだけList<Department>ですが、ジェネリックは COM Interop ではうまく機能しないようです。それで、私のオプションは何ですか?
リストを反復処理し、インデックスでアイテムにアクセスできるようにしたいと思います。から継承するか、 、または別のインターフェイスをList<Department>実装する必要がありますか、それともより良い方法がありますか? 理想的には、必要なすべてのタイプのリストに対してカスタム コレクションを実装する必要はありません。また、COM Interop でも動作しますか?IListIList<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 %>