我想在我的C#项目中使用下面的VB.Net类。有什么办法吗? 提前谢谢。
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
答案 0 :(得分:3)
是。因为 VB.NET 和 C#都编译成 IL (中间语言),所以您只需在VB中创建一个库(DLL文件)。 NET,然后在C#中使用该库。
答案 1 :(得分:3)
最好将其转换为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;
}
}
答案 2 :(得分:2)
您需要创建VB.NET DLL
程序集(使用Visual Studio中的库项目模板),然后您可以将DLL程序集的引用添加到C#项目中。确保在程序集外部只能看到唯一的公共类型(类)。
答案 3 :(得分:0)
将类转换为C#或将类保存在类库中,并在C#项目中引用它。