c#等价于这些VB语句

本文关键字:VB 语句 等价于 | 更新日期: 2023-09-27 17:53:42

我正在寻找这些语句的c#替代品,这些语句是在VB中使用Telerik在线转换器转换为c#的。编译器给出错误,因为它无法识别这些语句。

  • My.Settings.Reload ();
  • My.Settings。MainScreenLeft =我。左

  • My.Settings。MainScreenTop = Me。前

  • My.Settings。MainScreenWidth = Me。宽度

  • My.Settings.Save ()

  • My.Settings。Mode = cbomode . selecteitem . tostring

c#等价于这些VB语句

c#中没有对My的直接翻译。这个链接给出了在c#中使用VB的My类的详细信息:

https://msdn.microsoft.com/en-us/library/ms173136.aspx

由于您试图使用设置访问项目的设置,请尝试用Properties.Settings.Default.替换报表中的My.Settings.。确保您正在访问的属性(如MainScreenTop)作为项目属性中的设置存在。

我认为你应该使用设置变量:https://msdn.microsoft.com/en-us/library/aa730869 (v = vs.80) . aspx

部分问题是您的转换器可能没有正确转换原始Settings.Designer.vb文件。

原文的结构通常是这样的:

Partial NotInheritable Class Settings
    Inherits Global.System.Configuration.ApplicationSettingsBase
    ...
End Class

但是你的c#文件应该像下面这样结构化,以使前面的建议起作用:

namespace YourRootNamespace //project-level original VB 'root' namespace, if you have one
{
    namespace Properties
    {
        internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
        {
            ...
        }
    }
}

现在是使用"Properties.Settings. properties"的建议。

此外,在该类的底部,VB在'My'命名空间中包含了一个模块'MySettingsProperty' -只需删除这个(这只是允许'Settings'类被包含在'My'命名空间中)。

Properties.Settings.Default.Reload();
Properties.Settings.Default.MainScreenLeft = this.Left;
Properties.Settings.Default.MainScreenTop = this.Top;
Properties.Settings.Default.MainScreenWidth = this.Width;
Properties.Settings.Default.Save();
Properties.Settings.Default.Mode = CboMode.SelectedItem.ToString();