C# 用C语言中的参数为类方法赋值#

C# 用C语言中的参数为类方法赋值#,c#,com,vbscript,.net-assembly,backwards-compatibility,C#,Com,Vbscript,.net Assembly,Backwards Compatibility,我正在用C#编写一个程序集,它将替换一个注册为COM的旧DLL。该旧DLL允许启用COM的应用程序(如VB或Perl)或执行以下VBS示例中的操作: dim All_Domains set All_Domains = WScript.CreateObject("MailServerX.LocalDomains") dim Specific_Domain set Specific_Domain = All_Domains.Items(3) dim Domain_Aliases set Doma

我正在用C#编写一个程序集,它将替换一个注册为COM的旧DLL。该旧DLL允许启用COM的应用程序(如VB或Perl)或执行以下VBS示例中的操作:

dim All_Domains
set All_Domains = WScript.CreateObject("MailServerX.LocalDomains")

dim Specific_Domain
set Specific_Domain = All_Domains.Items(3)

dim Domain_Aliases
set Domain_Aliases = WScript.CreateObject("MailServerX.Lines")
Domain_Aliases.Add "one.com"
Domain_Aliases.Add "two.com"

Specific_Domain.Domain_Aliases = Domain_Aliases
All_Domains.Items(3) = Specific_Domain
正如您在最后一行中看到的,在传递参数“3”时,正在分配属性/方法LocalDomains.Items

我需要在新程序集中维护相同的接口,以便与访问旧DLL的所有现有脚本保持兼容性。我有一个(非常概括的)C#类:

公共类LocalDomains
{
私有列表项列表=新列表();
#假设列表现在已加载
公共本地域项(int索引)
{
返回项目列表[索引];
}
}
如何在LocalDomains类中写入方法项,以便它不仅可以从列表中返回值,还可以接收值分配,以便它可以对itemsList[index]进行一些处理,包括为其分配新值

我的意思是,用新代码保持第一个代码块的最后一行有效


提前感谢您的建议

你是在寻找类似的东西吗?不完全是,或者我在脑子里没有很好地处理这个想法。我需要的是能够继续使用第一个块中的脚本,我还不知道如何用C#编写它。Beg、steal或borrow可以获取旧DLL的类型库。将其导入项目并实现接口。
public class LocalDomains
{
    private List<LocalDomain> itemsList = new List<LocalDomain>();
    # Assume the list is now loaded
    public LocalDomain Items(int index)
    {
        return itemsList[index];
    }
}