[英]Simple C# WPF form generating a slew of seemingly nonsensical error messages
下面的代碼包含“一堆”錯誤消息,我無法一生找出原因。 我最近不得不從VS2010“降級”到VS2008,此后除了痛苦之外什么都沒有。 前幾條錯誤消息在發生的位置旁邊顯示為注釋。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.IO;
namespace UniClient_NextGen
{
/// <summary>
/// Interaction logic for Window1.xaml
/// </summary>
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
private void buttonPopMenuItemsLU_Click(object sender, RoutedEventArgs e)
{ // err msg #1 = "} expected"
public static int TOPLEVEL_ID = 0;
public static int PARENT_ID = 1;
public static int SELF_ID = 2;
public static int MENU_CAPTION = 3;
public static int MENU_NAME = 4;
string fileName = @"C:\_UniClientNextGen\MenuItemsWithIDs.txt";
using (StreamReader reader = File.OpenText(fileName)) // err msg #2 = "Invalid token 'using' in class, struct, or interface member declaration" + err msg #3 = "; expected" (at end of this line)
{
string _line = null;
string[] strElements;
do
{
_line = reader.ReadLine();
strElements = _line.Split(",");
// strElements should now have five elements
int iTopLevelID = Convert.ToInt32(strElements[TOPLEVEL_ID]);
int iParentID = Convert.ToInt32(strElements[PARENT_ID]);
int iOwnID = Convert.ToInt32(strElements[SELF_ID]);
string sMenuCaption = strElements[MENU_CAPTION];
string sMenuName = strElements[MENU_NAME];
//performSQL("INSERT INTO MENU_ITEMS_LOOKUP (TopLevelMenuID, ParentMenuID, MenuItemName, MenuItemCaption) VALUES (iTopLevelID, iParentID, iOwnID, sMenuCaption, sMenuName)");
} while (_line != null);
}
} // err msg #4 = "Type or namespace definition, or end-of-file expected"
private void buttonPopSorterTypesLU_Click(object sender, RoutedEventArgs e)
{
//
}
private void buttonPopTabsheetsLU_Click(object sender, RoutedEventArgs e)
{
//
}
private void buttonPopMenuItem_SorterTypeM2M_Click(object sender, RoutedEventArgs e)
{
//
}
private void buttonPopSorterType_TabsheetM2M_Click(object sender, RoutedEventArgs e)
{
//
}
}
}
為什么在方法內部有public static
聲明?
我認為您是XAML定義或XAML命名空間與您的類不同步。 您最近是否重命名了類或名稱空間?
這是更正后的代碼(我將靜態成員聲明移到正確的位置並更正了_line.Splt()參數):
//...
public static int TOPLEVEL_ID = 0;
public static int PARENT_ID = 1;
public static int SELF_ID = 2;
public static int MENU_CAPTION = 3;
public static int MENU_NAME = 4;
void buttonPopMenuItemsLU_Click(object sender, RoutedEventArgs e) {
string fileName = @"C:\_UniClientNextGen\MenuItemsWithIDs.txt";
using(StreamReader reader = File.OpenText(fileName)) {
string _line = null;
string[] strElements;
do {
_line = reader.ReadLine();
strElements = _line.Split(',');
int iTopLevelID = Convert.ToInt32(strElements[TOPLEVEL_ID]);
int iParentID = Convert.ToInt32(strElements[PARENT_ID]);
int iOwnID = Convert.ToInt32(strElements[SELF_ID]);
string sMenuCaption = strElements[MENU_CAPTION];
string sMenuName = strElements[MENU_NAME];
} while(_line != null);
}
}
//...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.