[英]Error when trying to convert C# code to VB.Net
我正在将一些C#代码从另一个项目转换为VB.Net,但是以下代码引发错误
Dim obj As System.Collections.ArrayList()
obj = HTMLWorker.ParseToList(New StreamReader("../sample.htm",encoding.Default),
styles)
错误为“无法将类型为Systems.Collections.Generic.List()的值转换为'Systems.Collections.Arraylist()”
原始的C#代码是
System.Collections.ArrayList obj;
obj = HTMLWorker.ParseToList(new StreamReader("../sample.htm",Encoding.Default),
styles);
什么是正确的VB代码?
我认为这与C#/ VB没有关系。 在我看来
最简单的解决方案是使用类型推断:
// C#
var obj = HTMLWorker.ParseToList(new StreamReader("../sample.htm", Encoding.Default), styles);
'' VB
Dim obj = HTMLWorker.ParseToList(New StreamReader("../sample.htm", Encoding.Default), styles)
请注意,要使用此功能,您需要在项目属性中将“选项推断”设置为“开”。
如果您不想使用类型推断,则需要使用正确的类型声明obj
。 要确定正确的类型,请在键入HTMLWorker.ParseToList(
时查找ParseToList
的文档或阅读IntelliSense提供的信息。例如,如果ParseToList返回IElement
的通用List,则正确的语法为:
Dim obj As Systems.Collections.Generic.List(Of IElement)
obj = ...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.