![](/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.