C#中父子类

161 阅读1分钟

这是项目中用于请求响应返回的类,因为成功响应和失败响应的信息不同,所以定义了两个不同的类。一个是父类,一个是子类。这样就可以实现项目要求。 代码如下:

public class PClass //父类
   {
       public int code { get; set; }
   }

 public class CommonResultModel:PClass//子类
   {
       public string desc { get; set; }
       /// <summary>
       /// 结果信息描述Code不等于0时必填。
       /// </summary>
       public string remark { get; set; }
   }
public class MyTest
   {
       public string Name { get; set; }
       public PClass result { get; set; } //定义类字段
   }

  
//测试代码
      MyTest model = new MyTest();
           model.Name = "Test";

           CommonResultModel pClass = new CommonResultModel();
           pClass.code = 0;
           pClass.remark = "test";
           pClass.desc = "123";
           model.result = pClass;

           Console.WriteLine(JsonConvert.SerializeObject(model));//生成按照子类来

      //如果是PClass 则按照PClass类

使用子类测试结果:

image.png

使用父类测试:

 MyTest model = new MyTest();
            model.Name = "Test";

            PClass pClass = new PClass();
            pClass.code = 0;
          // // pClass.remark = "test";
           // pClass.desc = "123";
            model.result = pClass;

            Console.WriteLine(JsonConvert.SerializeObject(model));

image.png

这样可以很灵活处理了。 补充

//父类可以接受子类,
PClass pClass = new CommonResultModel();

//但是子类不可以接受父类

//CommonResultModel son=new PClass();会报错