将一些VB.NET代码转换为C# - 需要建议

时间:2018-06-15 21:47:04

标签: c# vb.net

我正在使用曾经打开的名为VZones的原始MMO,它们有一个dll文件,允许您调用此dll中的函数来执行程序中的某些操作。

我找到了一些VB.NET代码,我遇到的问题是将其转换为可与C#一起使用的方式(使用VS 2017)

使用它设置DLL调用,工作正常:

modelBuilder.Entity<Blog>().HasData(new Blog {BlogId = 1, Url = "http://sample.com"});

modelBuilder.Entity<Post>().HasData(
    new {BlogId = 1, PostId = 1, Title = "First post", Content = "Test 1"},
    new {BlogId = 1, PostId = 2, Title = "Second post", Content = "Test 2"});

问题是我需要将这个来自其他人的VB.NET代码转换为可以在C#中运行的代码。我尝试了一些不同的选项,但程序刚关闭,从不给我一个错误。

[DllImport("vzdapi.dll", CharSet = CharSet.Ansi, SetLastError = true)]
public static extern string DapiGetText(string BufferIn, int LengthIn, int Timeout);

问题出现在Conversions.ToString部分,我当然试图制作obj1.ToString()并且可能工作正常,但我认为被抓住的地方是它试图运行中间代码“Strings.Len(RuntimeHelpers.GetObjectValue(OBJ1))”。

有没有人有任何帮助可以将其变成可以在C#中运行的东西?谢谢!

1 个答案:

答案 0 :(得分:-1)

我想知道转换是否必要,因为您定义的初始对象已经是字符串,请尝试以下解决方案:

string obj = new string(char.MinValue, Int16.MaxValue);
vzText.Text = this.DapiGetText(obj, obj.Length, 1500);