【问题标题】:Converting C# to VB with Telerik's online convertor [closed]使用 Telerik 的在线转换器将 C# 转换为 VB [关闭]
【发布时间】:2014-09-05 00:42:19
【问题描述】:

我有一大堆需要转换为 VB 的 C# 类,但我不明白其中的一些 C 是关于什么的。

这是一个典型的 C# 类-

using System;

[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
[System.ServiceModel.MessageContractAttribute(IsWrapped = false)]
public partial class CreateServiceToken_1_RequestMessage
{
    [System.ServiceModel.MessageHeaderAttribute(Namespace = "http://www.reuters.com/ns/2008/03/01/webservices/rkd/Cache_1")]
    public ThomsonReutersKnowledgeDirect.CacheRequest CacheRequest;

    [System.ServiceModel.MessageBodyMemberAttribute(Namespace = "http://www.reuters.com/ns/2006/05/01/webservices/rkd/TokenManagement_1", Order = 0)]
    public ThomsonReutersKnowledgeDirect.CreateServiceToken_Request_1 CreateServiceToken_Request_1;

    public CreateServiceToken_1_RequestMessage()
    {
    }

    public CreateServiceToken_1_RequestMessage(ThomsonReutersKnowledgeDirect.CacheRequest CacheRequest, ThomsonReutersKnowledgeDirect.CreateServiceToken_Request_1 CreateServiceToken_Request_1)
    {
        this.CacheRequest = CacheRequest;
        this.CreateServiceToken_Request_1 = CreateServiceToken_Request_1;
    }
}

Telerik 的在线转换器在 VB 中给了我这个:

<System.Diagnostics.DebuggerStepThroughAttribute()> _
<System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")> _
<System.ServiceModel.MessageContractAttribute(IsWrapped:=False)> _
Partial Public Class CreateServiceToken_1_RequestMessage

    <System.ServiceModel.MessageHeaderAttribute([Namespace]:="http://www.reuters.com/ns/2008/03/01/webservices/rkd/Cache_1")> _
    Public CacheRequest As ThomsonReutersKnowledgeDirect.CacheRequest

    <System.ServiceModel.MessageBodyMemberAttribute([Namespace]:="http://www.reuters.com/ns/2006/05/01/webservices/rkd/TokenManagement_1", Order:=0)> _
    Public CreateServiceToken_Request_1 As ThomsonReutersKnowledgeDirect.CreateServiceToken_Request_1

    Public Sub New()
    End Sub

    Public Sub New(CacheRequest As ThomsonReutersKnowledgeDirect.CacheRequest, CreateServiceToken_Request_1 As ThomsonReutersKnowledgeDirect.CreateServiceToken_Request_1)
        Me.CacheRequest = CacheRequest
        Me.CreateServiceToken_Request_1 = CreateServiceToken_Request_1
    End Sub
End Class

问题是这会产生各种错误,例如未定义“System.ServiceModel”。
VB 需要 封闭的东西还是只是从 C# 遗留下来的东西?

顺便说一句,我正在使用 VS 2010

【问题讨论】:

  • 这看起来更像 C# 而不是 C++。你确定是后者?
  • 哎呀,是的 c# 我突然想到将一个项目引用添加到“System.ServiceModel”并且错误消失了。仍然不明白这一切意味着什么,但我会多玩一点然后回来。干杯
  • @Malcom - 既然您发现了“VC”“c#”错误,或许可以编辑您的问题?
  • 您有对 System.ServiceModel 程序集的引用吗? (此程序集包含 System.ServiceModel.MessageContractAttribute 类)。
  • 为什么要转换成VB?为什么不能将它们编译为 C# 程序集,然后从 VB 中引用该程序集?根据您的 VS 版本,解决方案可以同时包含 VB 和 C# 项目。

标签: c# vb.net telerik code-conversion


【解决方案1】:

需要“中的东西”,它们是attributes

如果不知道更多,我会说您的错误是由于缺少导入\使用。

看C#文件的顶部,有很多using something.something语句。这些在 VB 文件中应该有对应的Imports something.something

【讨论】:

    猜你喜欢
    • 2015-09-16
    • 1970-01-01
    • 2012-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-06
    • 1970-01-01
    相关资源
    最近更新 更多