может класс System.Object содержать объект объекта с данными? - PullRequest
1 голос
/ 20 июля 2011

У меня есть один метод в C # в vs2010, который должен возвращать универсальный объект системы.Потому что методы возвращают результаты другого типа, такие как int, datatable, string.объект может содержать как int, так и строку, но когда я держу или присваиваю объект данных универсальному объекту, он выдает ошибку как -

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.

, потому что я разрабатываювеб-метод, поэтому другую часть ошибки он выдает.

Может ли общий объект содержать объект с данными?

Ответы [ 3 ]

0 голосов
/ 20 июля 2011

Да, общий объект может содержать DataTable (это можно легко проверить - см. Код ниже). Я полагаю, что ваша проблема не в том, чтобы содержать общие объекты, а в 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 голосов
/ 20 июля 2011

Все типы .Net наследуются от System.Object, поэтому System.Object может содержать DataTable.

Кажется, ваша проблема больше связана с вашим дизайном. Если это связано с веб-службой, не возвращайте типы, такие как DataTable или DataSet, поскольку их нелегко использовать на платформах, отличных от .Net. Вместо этого представляйте данные в классе / структуре.

0 голосов
/ 20 июля 2011

Да, это возможно. На Stackoverflow задано много похожих или связанных вопросов. Посмотрите на это, например, это может помочь вам:

.NET - преобразование общего набора в таблицу данных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...