Ich möchte ein Objekt als geerbte Basisschnittstelle zurückgeben. Da IMasterData und IGetValues von anderen Projekten gemeinsam genutzt werden, bin ich mir nicht sicher, wie viele Änderungen ich vornehmen könnte. Der Code ist wie folgt:C# return object als geerbte Basisschnittstelle
public class WithData : IBasicData
{
public string prop1 { get; set; }
public string prop2 { get; set; }
public string prop3 { get; set; }
public string prop4 { get; set; }
}
public interface IBasicData: IMasterData
{
string prop3 { get; set; }
string prop4 { get; set; }
}
public interface IMasterData
{
string prop1 { get; set; }
string prop2 { get; set; }
}
public interface IGetValues
{
IMasterData FillValues(someType element)
}
public class MyClass : IGetValues
public IMasterData FillValues(someType element)
{
var u = new WithData
{
prop1 = element.value1,
prop2 = element.value2,
prop3 = element.value3,
prop4 = element.value4
};
return u;
}
ich einen Fehler im Gegenzug u sagen, dass es nicht um das Objekt zu Withdata Rückgabetyp IMasterData umwandeln kann. Aufgrund der Vererbungskette dachte ich, es wäre möglich. Wie kann ich das Objekt als IMasterData-Typ zurückgeben?
haben Sie Guss versucht? Rückgabe als IMasterData –
Ich bekomme eine Ausnahme, "kann Objekt des Typs 'WithData' nicht umwandeln, um 'IMasterData' einzugeben." – user1970778
Sehr seltsam, Ihr Code funktioniert hier gut, können Sie den vom Compiler angegebenen Fehler angeben? –