0

我想创建函数并传递值以减少编码中的重复代码。

在 GridView ItemDataBound 事件中会这样调用

DataRowView drv = e.Row.DataItem as DataRowView;
MyFunc(drv["HasDonePart1"]);
MyFunc(drv["HasDonePart2"]);
MyFunc(drv["HasDonePart3"]);
etc...

该功能将如下所示

private void MyFunc ((ClassName) item)
{
    if (item == DBNULL.value)
    {
       //do something
    }
    else
    {
       string myValue = item.ToString();
       //do other things
    }
}

但我不知道我应该在我的方法中放入什么来接受对象。

4

2 回答 2

0

DataRowView.Item 索引属性返回对象,因此这就是您的方法应作为参数的内容。请参阅http://msdn.microsoft.com/en-us/library/0k5w061k(v=vs.110).aspx

于 2014-02-13T16:58:40.263 回答
0

改为MyFunc接受object,改为:

private void MyFunc(object item)
{
    if (item == DBNull.Value)
    {
        // Do something
    }
    else if (item is string)
    {
    }
    else if (item is decimal)
    {
    }

    // etc.
}
于 2014-02-13T17:00:23.100 回答