2011-07-20 52 views
1

我有一个方法在vs2010中的C#应该返回系统的通用对象。因为这些方法返回不同类型的结果,如int,datatable,string。该对象可以容纳INT以及字符串,但是当我紧握或分配数据表的通用对象则抛出误差 -System.Object类可以保存数据表对象的对象吗?

Server was unable to process request. ---> There was an error generating the XML document. ---> The type System.Data.DataTable may not be used in this context. To use System.Data.DataTable as a parameter, return type, or member of a class or struct, the parameter, return type, or member must be declared as type System.Data.DataTable (it cannot be object). Objects of type System.Data.DataTable may not be used in un-typed collections, such as ArrayLists.

,因为我正在开发Web方法所以这就是为什么它引发的错误的其他部分。

通用对象可以保存数据表对象吗?

+0

请花一些时间并重新提出问题,以便我们可以更好地理解它。 – naveen

回答

-1

是的,它可以。在Stackoverflow上有很多相似或相关的问题。看到这个,例如,它可以帮助你:

.NET - Convert Generic Collection to DataTable

+0

@Mamra Dalal @:可以在C中的对象类中保存数据表的对象吗? – Priyanka

+0

是的Priyanka它可以。为什么downvote?你可以解释吗? –

+0

我没有给出反对票。 – Priyanka

0

是通用的对象可以容纳一个DataTable(也可以easyly检查 - 见下面的代码)。我想你的问题不是通过自己来保存泛型对象,而是使用WebService和序列化集合的可能性(本地方法可以)。

using System; 
using System.Collections.Generic; 
using System.Collections; 
using System.Linq; 
using System.Text; 
using System.Data; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main() 
     { 
      List<DataTable> t = new List<DataTable>(); 
      t.Add(new DataTable()); 
      ArrayList x = new ArrayList(); 
      x.Add(new DataTable()); 
     } 
    } 
} 
0

所有的.NET类型从System.Object继承,因此System.Object可以容纳DataTable

您的问题似乎与您的设计更相关。如果它与Web服务相关,请考虑不要返回DataTable或DataSet之类的类型,因为这些类型可能不容易在非.NET平台上使用。而是在类/结构中表示数据。

相关问题