У меня есть объект, созданный из класса «object» и содержащий список, который я создал. Список представляет собой набор объектов, созданных из класса MyClass. И этот класс содержит два свойства строки.Объект, созданный из класса «объект», не позволяет извлекать значения свойств
public Class MyClass
{
private string _propOne;
public string PropOne
{
get {return _propOne;}
set {_propOne=Value;}
}
private string _propTwo;
public string PropTwo
{
get {return _propTwo;}
set {_propTwo=Value;}
}
}
У меня есть метод, который возвращает объект класса «объект»
private object GetData()
{
// It converts the list created to an object created from the class "object"
}
Тогда я вызываю метод, как в следующем.
object temp=GetData();
Теперь я хочу, чтобы перебрать «Темп» и назначить его в другой список, составленный из объектов класса «MyClass».
private List<MyClass> _anotherCollection;
public List<MyClass> AnotherCollection
{
get {return _anotherCollection;}
set {_anotherCollection=Value;}
}
........................
foreach (var a in temp.GetType().GetProperties())
{
object firstParam = "PropOne";
object secondParam = "PropTwo";
AnotherCollection.Add(new MyClass() { PropOne = a.GetValue(firstParam), PropTwo = a.GetValue(PropTwo) });
}
Но это дает мне следующую ошибку компиляции.
Невозможно неявно преобразовать тип 'object' в 'string'. Явное преобразование существует (вы пропускаете литье?)
Может кто-нибудь помочь мне исправить это?
'GetValue' ожидает строку в качестве параметра, вы пропускание' object'. Измените 'object firstParam =' на 'string firstParam' и то же самое на' secondParam'. –