У меня есть объект, созданный из класса «объект», и он содержит список, который я создал. Список представляет собой набор объектов, созданных из класса под названием «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();
Теперь я хочу перебрать «temp» и назначить его другому списку, созданному из объектов класса «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) });
}
Но это дает мне следующую ошибку компиляции.
Невозможно неявно преобразовать тип «объект» в «строку». Существует явное преобразование (вам не хватает приведения?)
Может ли кто-нибудь помочь мне исправить это?
GetValue
ожидает строку в качестве параметра, вы передаетеobject
. Изменитеobject firstParam =
наstring firstParam
и то же самое наsecondParam
. - person odyss-jii   schedule 12.10.2015