0

我是最近转换的 PHP 开发人员,我遇到的最大问题之一是在使用方法时弄清楚返回类型。在 PHP 中它是自动处理的,但在 C# 中,您需要明确告诉任何函数它期望返回的类型。我希望有一种简单的方法可以找到我不知道的信息。

这是我正在做的事情的一个例子,也许我正在尝试做的事情的功能对于我试图完成它的方式是不可能的。

假设正确的语法和完成这项工作所需的其余代码(包括 SQL 查询)在上面正确编写,这对我的问题并不重要。

public DataTypeHere ExampleFunction()
{
myTable = new DataTable();  
myAdapter = new SqlDataAdapter();  
myAdapter.SelectCommand = myCommand;  
myAdapter.Fill(myTable);

return myTable;
} 

这是电话:

dataType Variable;
Variable = ExampleFunction();

GridView1.DataSource = Variable.DefaultView;
GridView1.DataBind();

以及下面的 HTML

<form id="form1" runat="server">
    <asp:GridView
        ID="GridView1"
        runat="server"
    </asp:GridView>
</form>

所以最终的问题是,myTable 需要返回什么类型的变量才能使用 DataBind() 之类的方法?

4

2 回答 2

4

你要返回myTable的是用 初始化的new DataTable(),所以很明显返回类型应该是DataTable

于 2013-10-21T20:28:42.537 回答
3

在这种情况下,您将返回一个DataTable.

public DataTypeHere ExampleFunction()
{
    myTable = new DataTable();  // <---- You can see the type here
    myAdapter = new SqlDataAdapter();  
    myAdapter.SelectCommand = myCommand;  
    myAdapter.Fill(myTable);

    return myTable;
} 

此外,我看不到您在哪里声明了这些变量。信息也会在那里,如果可能的话,您应该在使用它们的方法中声明您的变量具有尽可能小的范围:

public DataTypeHere ExampleFunction()
{
    var myTable = new DataTable();  // <---- You can see the type here
    var myAdapter = new SqlDataAdapter();  
    myAdapter.SelectCommand = myCommand;  
    myAdapter.Fill(myTable);

    return myTable;
}
于 2013-10-21T20:30:32.717 回答