![](/img/trans.png)
[英]Method must have a return type on an InitializeComponent() method
[英]Method must have return type
嘗試構建解決方案時,我一直收到此錯誤。 我試過public string
,只是public
但無法正常工作。 有任何想法嗎? 謝謝!
[WebMethod]
public static LoadCitiesByState(string state)
{
DataTable dt = SharedDataAccess.GetCities(state);
List<string> cities = new List<string>();
foreach (DataRow row in dt.Rows)
{
cities.Add(row[0].ToString());
}
return cities;
}
編輯
現在我得到了錯誤:“並非所有代碼路徑都返回一個值”
編輯二
對不起,忘記粘貼我在那兒的try&catch了。 我刪除了它們,它起作用了。 如果有人想展示如何使其一試就可以使用,請放心。
您需要指定要返回的變量的類型:
public static List<string> LoadCitiesByState(string state)
無論是否引發異常,都需要確保返回某些內容。 因此,事先聲明返回變量,然后在try / catch塊之后返回它:
public static List<string> LoadCitiesByState(string state)
{
List<string> cities = new List<string>();
try {
DataTable dt = SharedDataAccess.GetCities(state);
} catch // specify exceptions here
{
//exception handling
}
foreach (DataRow row in dt.Rows)
{
cities.Add(row[0].ToString());
}
return cities;
}
通常,最好將try塊中的行數減到最少。
您要返回的城市是List<string>
因此應該是您的返回類型。
public static List<string> LoadCitiesByState(string state)
方法的問題在於,您需要定義要返回的數據類型
[WebMethod]
public static List<string> LoadCitiesByState(string state)
{
DataTable dt = SharedDataAccess.GetCities(state);
List<string> cities = new List<string>();
foreach (DataRow row in dt.Rows)
{
cities.Add(row[0].ToString());
}
return cities;
}
就這樣
更新
如果您想添加嘗試和捕獲功能,可以這樣做
[WebMethod]
public static List<string> LoadCitiesByState(string state)
{
List<string> cities = new List<string>();
try
{
DataTable dt = SharedDataAccess.GetCities(state);
foreach (DataRow row in dt.Rows)
{
cities.Add(row[0].ToString());
}
}
catch(Exception e)
{
//logs your exception
}
return cities;
}
您需要指定返回類型,請嘗試此操作
[WebMethod]
public static List<string> LoadCitiesByState(string state)
{
DataTable dt = SharedDataAccess.GetCities(state);
List<string> cities = new List<string>();
foreach (DataRow row in dt.Rows)
{
cities.Add(row[0].ToString());
}
return cities;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.