【c# – 虽然参数类型继承,但参数类型不能赋值】教程文章相关的互联网学习教程文章

c# – 对继承的泛型类型的反思【代码】

我在c#中遇到了反射问题,但我找不到答案. 我有一个继承自泛型类的类,我试图从这个类中检索T的类型,但事实证明我不能! 这是一个例子:class Products : List<Product> {}问题是在运行时我不知道T的类型.所以我试着得到这样的类型:Type itemsType = destObject.GetType().GetGenericArguments()[0]它没有成功. 这是我的方法:public static object Deserialize(Type destType, XmlNode xmlNode){ object destObject = Acti...

c#继承和转换继承层次结构【代码】

我想从A类型的现有对象创建一个B类型的新对象.B继承自A.我想确保将类型A的对象中的所有属性值复制到类型B的对象中实现这一目标的最佳方法是什么?class A {public int Foo{get; set;}public int Bar{get; set;} }class B : A {public int Hello{get; set;} }class MyApp{public A getA(){return new A(){ Foo = 1, Bar = 3 };}public B getB(){A myA = getA();B myB = myA as B; //invalid, but this would be a very easy way to ...

c# – 装饰模式,通过继承或依赖注入?【代码】

现在我正在研究常见的设计模式,并且在很大程度上我理解了装饰模式的目的.但我没有得到的是,在装饰器类中包装现有对象的目的是什么? 考虑这种情况,因为Progress是观察者模式的一部分,我想限制其订阅者的更新量以防止UI线程锁定. 所以我把类修饰为每50毫秒只更新一次.public class ProgressThrottle<T> : Progress<T> {private DateTime _time = DateTime.Now;public ProgressThrottle(Action<T> handler) : base(handler){}protect...

c# – 删除.net中的继承属性【代码】

我有一个像这样的ASP.NET MVC控制器[Authorize] public class ObjectController : Controller {public ObjectController(IDataService dataService){DataService = dataService;}public IDataService DataService { get;set;} }Authorize属性在框架中定义为“Inherited = true”.所以当我制作下一个控制器时:public class DemoObjectController : ObjectController {public DemoObjectController(IDataService dataService): bas...

c# – 如何在使用protobuf-net继承时选择字段编号?【代码】

我正在使用protobuf-net来序列化许多类型,其中一些类型是从基类型继承而来的.我知道Protocol Buffers规范不支持继承,并且protobuf-net中的支持基本上是一种解决方法,因为这样. 我正在配置自定义RuntimeTypeModel,并使用Add和AddSubType方法,而不是使用protobuf-net属性.我不太了解的是我应该如何确定传递给AddSubType方法的字段编号使用哪些数字(也就是在ProtoInclude属性中使用的数字). This SO question和其他几个类似的人并没有...

c# – 在基类中定义一个返回其自身名称的方法(使用反射) – 子类继承此行为【代码】

在C#中,使用反射,是否可以在基类中定义返回其自己的名称(以字符串形式)的方法,并且子类以多态方式继承此行为? 例如:public class Base {public string getClassName(){//using reflection, but I don't want to have to type the word "Base" here.//in other words, DO NOT WANT get { return typeof(Base).FullName; }return className; //which is the string "Base"} }public class Subclass : Base {//inherits getClassNa...

c# – 以基本形式定义的自定义属性在重建时以继承的形式丢失其状态【代码】

我遇到基本形式的属性无法以继承形式维护状态的问题. 环境: > Visual Studio 2010 Ultimate Service Pack 1:版本10.0.40219.1 SP1Rel> .Net Framework:版本4.0.30319 SP1Rel> Windows 7旗舰版 下面是重现的源代码和步骤:using System; using System.ComponentModel; using System.Windows.Forms;namespace Test {public partial class BaseForm : Form{[DefaultValueAttribute(true)]public bool ControlVisible{get{return th...

c# – 从继承Child Class Object访问Parent Class虚方法【代码】

我想知道是否可以使用继承类(覆盖方法)对象来访问基本虚方法. 我知道这不是一个好习惯,但我想知道的原因是技术上是否可行.我不遵循这样的做法,只是出于好奇而提出要求. 我确实看到了一些类似的问题,但我没有得到我正在寻找的答案. 例:public class Parent {public virtual void Print(){Console.WriteLine("Print in Parent");} }public class Child : Parent {public override void Print(){Console.WriteLine("Print in Child")...

C#如何在继承自DynamicObject的类上序列化(JSON,XML)常规属性【代码】

我试图序列化一个继承自DynamicObject的类的实例.我已经毫不费力地将动态属性序列化了(为简洁起见,这里没有演示),但“正常”属性似乎并没有成功.无论序列化类如何,我都会遇到同样的问题:它与JavaScriptSerializer,JsonConvert和XmlSerializer相同.public class MyDynamicClass : DynamicObject {public string MyNormalProperty { get; set; } }...MyDynamicClass instance = new MyDynamicClass() {MyNormalProperty = "Hello, w...

39.C#--面对对象构造函数及构造函数继承使用【代码】

//一.新建Person类namespace _39.面对对象构造函数及构造函数继承使用{public class Person{//字段、属性、方法、构造函数//字段:存储数据//属性:保护字段,对字段的取值和设值进行限定//方法:描述对象的行为//构造函数:初始化对象(给对象的每个属性依次的赋值)//类中的成员,如果不加访问修饰符,默认都是privateprivate string _name; //字段public string Name //属性{get { return _name; }set { _name = value; }}pu...

自己从0开始学习Unity的笔记 VIII (C#中类继承练习 II)【代码】

自己写了一个关于兵种的,因为一直在测试,到底面向对象是个什么玩意。。。然后就做了这个namespace 兵种 {class Role //作为父类,构建一个普通角色属性用于继承{protected int health;protected int attack;protected int speed;protected int defend;public Role(int health,int attack,int speed,int defend){this.health = health;this.attack = attack;this.speed = speed;this.defend = defend;}public void RoleData(){Con...

C#图解教程 第七章 类和继承【代码】【图】

类和继承 类继承通过继承我们可以定义一个新类,新类纳入一个已经声明的类并进行扩展。可以使用已存在的类作为新类的基础。已存在类称为基类(base class),新类称为派生类(derived class)。派生类组成如下:本身声明中的成员 基类的成员声明派生类,需要在类名后加入基类规格说明 派生类扩展它的基类,因为它包含了基类的成员,加上它本身声明中的新增功能 派生类不能删除它所继承的任何成员例:OtherClass类,继承自SomeClassclas...

c# 动态编译继承接口

c#里面的动态编译我就不讲了,主要的都有了。如果不熟悉我推荐博文 https://www.cnblogs.com/maguoyong/articles/5553827.html 标准的动态编译 这里主要是为了提供一个应用思路。以我的例子为准。 描述了一个接口,一个接口库。在服务端使用,在客户端调用。一般第三方的组件会怎么办? 提供一个编译工具,实现通信接口,然后自己编写方法。这里我用动态编译实现。 封装一个类,一个创建对象的泛型方法,方法传入接口类。 所有方法...

c# – DbContext继承更新 – 数据库错误【代码】

我们首先使用EntityFramework代码我想实现DbContext继承:public class AgileDbContextBase : DbContext {public DbSet<Account> Accounts { get; set; }public DbSet<User> Users { get; set; }protected override void OnModelCreating(DbModelBuilder modelBuilder){// base.OnModelCreating(modelBuilder);// TODO configure relations here!modelBuilder.Configurations.Add(new AccountEntityConfiguration()).Add(new UserE...

c# – 使用MvvmCross添加Windows 8.1存储基本页面(不再继承自不存在的LayoutAware但基本页面类)【代码】

在Windows 8.1中,当您添加基于Windows 8.1 Basic Page的View / Page时,它不再继承LayoutAware类,因为它在Win 8.1中不再存在.现在,所有基本页面都直接从Page类继承.此外,它不再具有OnNavigatedTo / OnNavigatedFrom事件,因为Win8.1 Basic页面现在利用NavigationHelper类并调用this.navigationHelper.LoadState和this.navigationHelper.SaveState事件处理程序.如果使用TipCalc示例并添加Windows Store基本页面,TipView,初始页面将如下...

赋值 - 相关标签