草庐IT

c# - 抽象类的对象和抽象类的对象列表有什么区别?

我们不能创建抽象类的对象,但我们可以创建一个列表或它们的数组。有什么区别? 最佳答案 列表或数组只是一组指针的占位符,您还没有创建任何实例。当您说创建对象时——您的意思是创建一个实例——您不能使用抽象类来做到这一点。但是您可以创建指向它们的列表或数组(并且是空的)——然后您可以将指针移动到派生类/对象的“真实”实例 关于c#-抽象类的对象和抽象类的对象列表有什么区别?,我们在StackOverflow上找到一个类似的问题: https://stackoverf

c# - 接口(interface)还是抽象类?

对于我的新宠物项目,我有一个设计问题,这个问题已经确定了,但我也想就此提出一些其他意见。我有两个类(简化):classMyObject{stringname{get;set;}enumrelation{get;set;}intvalue{get;set;}}classMyObjectGroup{stringname{get;set;}enumrelation{get;set;}intvalue{get;set;}Listmyobjects{get;set;}}稍后在项目中MyObjectGroup和MyObject应该被同等使用。为此,我可以采用两种方式:创建接口(interface)

c# - 为什么C#中同时存在抽象类和接口(interface)?

如果我们可以通过将类中的所有成员都抽象化来实现接口(interface)特性,为什么C#中还要同时存在抽象类和接口(interface)。是不是因为:接口(interface)存在多重继承拥有接口(interface)是有意义的,因为对象的CAN-DO特性应该放在接口(interface)而不是基础抽象类中。请澄清 最佳答案 好吧,一个抽象类可以指定一些实现,但通常不是全部。(话虽如此,完全有可能提供一个没有抽象成员的抽象类,但有大量具有“无操作”实现的虚拟成员)。接口(interface)提供不实现,仅提供契约(Contract)

c# - 在通用抽象类中实现强制转换运算符

我试图偷懒并在抽象基类中而不是在每个派生的具体类中实现转换运算符。我已经设法施放了一种方式,但无法施放另一种方式。我认为这可能是不可能的,但想在放弃之前选择集体SO的想法:publicinterfaceIValueType{TValue{get;set;}}publicabstractclassValueType:IValueType{publicabstractTValue{get;set;}publicstaticexplicitoperatorT(ValueTypevt){if(vt==null)returndefault(T);returnvt.Value;}publicsta

c# - 在 C# 中重构抽象类

抱歉,如果这听起来很简单,但我正在寻找一些帮助来改进我的代码:)所以我目前有以下实现(我也写过):publicinterfaceIOptimizer{voidOptimize();stringOptimizerName{get;}}publicabstractAbstractOptimizer:IOptimizer{publicvoidOptimize(){//Generalimplementationherewithfewcallstoabstractmethods}}publicabstractAbstractPriorityOptimizer:AbstractOptimizer{

c# - 如何在 C# 中为抽象语法树编写访问者模式?

我必须编写访问者模式来导航AST。谁能告诉我更多信息,我将如何开始编写它?据我所知,AST中的每个节点都会有visit()方法(?),该方法会以某种方式被调用(从哪里?)。我的理解到此结束。为了简化一切,假设我有节点Root、Expression、Number、Op,树看起来像这样:Root|Op(+)/\/\Number(5)\Op(*)/\/\/\Number(2)Number(444) 最佳答案 Patternvisitor是一种设计模式,允许您实现解析树上的任意操作(作为访问者实现)(例如类型检查),而无需修改解析树节点的实

c# - C#中接口(interface)、抽象类、密封类、静态类和分部类的区别?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。C#中接口(interface)、抽象类、密封类、静态类、分部类的区别?如果所有类都在vb.net中可用?

c# - C# 中的抽象类与静态类

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:What'sthedifferencebetweenanabstractclassandastaticone?你好我想知道C#中抽象类和静态类之间的所有区别是什么我什么时候使用什么以及为什么?抽象类真的是一个我们不能创建它的实例的类吗?谢谢

c# - 将 Identity 2.0 抽象到领域模型层

我正在尝试在遵循洋葱架构的ASP.NETMVC5解决方案中实现Identity2.0。我的核心中有一个ApplicationUser。namespaceCore.DomainModel{publicclassApplicationUser{...}}在我的数据访问层中,我使用的是EntityFramework6.1,我的上下文源自IdentityDbContext,这就是问题所在。ApplicationUser需要派生自Microsoft.AspNet.Identity.EntityFramework.IdentityUsernamespaceInfrastructure.DAL{pu

c# - 无法定义静态抽象字符串属性

我遇到了一个有趣的问题,正在寻找一些关于如何最好地处理这个问题的建议......我有一个抽象类,它包含一个静态方法,该方法接受我想定义为抽象属性的静态字符串。问题是C#不支持以下内容(请参阅ConfigurationSectionName和Current属性):publicabstractclassProviderConfiguration:ConfigurationSection{privateconststring_defaultProviderPropertyName="defaultProvider";privateconststring_providersPropertyNa