如何在c#项目中使用VB.net类

本文关键字:VB net 项目 | 更新日期: 2023-09-27 18:17:33

我想使用下面的VB。Net类在我的c#项目。有什么办法可以做到吗?提前谢谢。

 Public Class XMLItemList
        Private sb As System.Text.StringBuilder
        Public Sub New()
            sb = New System.Text.StringBuilder
            sb.Append("<items>" & vbCrLf)
        End Sub
        Public Sub AddItem(ByVal Item As String)
            sb.AppendFormat("<item id={0}{1}{2}></item>{3}", Chr(34), Item, Chr(34), vbCrLf)
        End Sub
        Public Overrides Function ToString() As String
            sb.Append("</items>" & vbCrLf)
            Return sb.ToString
        End Function     
    End Class

如何在c#项目中使用VB.net类

您需要创建VB。. NET DLL程序集(使用Visual Studio中的库项目模板),然后您可以将DLL程序集的引用添加到您的c#项目中。确保只有公共类型(类)在程序集之外可见。

是。因为VB。NET和c# 编译成IL(中间语言),您可以简单地在VB中创建一个库(DLL文件)。

最好将其翻译成c#,并修复破损的ToString()实现:

  using System.Xml;
  public class XMLItemList
  {
    XmlElement el;
    XmlDocument doc;
    public XMLItemList()
    {
      doc = new XmlDocument();
      el = doc.CreateElement("items");
    }
    public void AddItem(string item)
    {
      var itemXml = doc.CreateElement("item");
      var attr = doc.CreateAttribute("id");
      attr.Value = item;
      itemXml.Attributes.Append(attr);
      el.AppendChild(itemXml);
    }
    public override string ToString()
    {
      return el.OuterXml;
    }
  }

将类转换为c#或将类保存在类库中并在c#项目中引用。