首页 > 解决方案 > 返回父类 - 继承

问题描述

我有一个父类

public class User
{
    public int UserKey { get; set; }
    public string Username { get; set; }
    public string Password { get; set; }
}

我也有下面的类继承自User

public class MyInfo : User
{
     public string Name { get; set; }
}

我有一个实用程序类,它返回一种User. 但是,我想使用相同的方法,MyInfo并且只填写MyInfoUser. 该方法可以在下面找到:

public static User fetchUserInformation()
{
    User user = new User()
    //fetch data..
    return user;
}

我正在做的是

MyInfo myinfo = fetchUserInformation();

但这不起作用,因为fetchUserInformation返回类型为User.

标签: c#.net

解决方案


您可以尝试将其序列化User和反序列化为MyInfo.

改变

MyInfo myinfo = fetchUserInformation();

MyInfo myInfo = JsonConvert.DeserializeObject<MyInfo>(JsonConvert.SerializeObject(fetchUserInformation()));

另一种方法,您可以尝试不使用继承。这是一个演示:

public class MyInfo
    {
        public string name { get; set; }
        public User user { get; set; }

    }
MyInfo myInfo = new MyInfo { user = fetchUserInformation() };

推荐阅读