繁体   English   中英

C#到VB.net的错误未定义

[英]C# to VB.net error of is not defined

在C#中,这是:

Imports System.Runtime.Serialization

.....
[DataContract]
public class erUser : SerializedJson<erUser>
{
    [DataMember(Name = "id")]
    public string UserID { get; set; }

将其转换为上面的VB.net可以得到以下信息:

<DataContract()> _
Public Class erUser
    Inherits SerializedJson(Of erUser)
    <DataMember(Name:="id")> _

这给了我DataContract()DataMember错误

错误是:

未定义类型“ DataMember”。 未定义类型“ DataContract”。

我不是全能的C#程序员,该如何解决? :)

从上面的文档链接可以看到, DataContractAttributeDataMemberAttribute都位于System.Runtime.Serialization

因此,导入该名称空间:

Imports System.Runtime.Serialization

当然,您可以忽略它并使用完全限定的名称:

<System.Runtime.Serialization.DataContract()> _
...

但这并不是一件很有趣的事,所以我建议您导入名称空间。

另一种可能的故障模式是您尚未为实现这些类型的程序集添加引用。 对于这两种类型,程序集都是System.Runtime.Serialization


通常,遇到此类错误时,您需要查找无法解析的名称的文档,并且该文档将告诉您需要导入的名称空间。 对于.net framework,信息如下所示:

继承层次

\n System.Object的    \n   System.Attribute\n     System.Runtime.Serialization.DataMemberAttribute \n

命名空间 :System.Runtime.Serialization
程序集 :System.Runtime.Serialization(在System.Runtime.Serialization.dll中)

关键信息在这里。 除了需要导入的名称空间外,还有实现功能的程序集。 您必须确保引用了需要使用的所有程序集。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM