草庐IT

abstract-base-class

全部标签

c# - 简易喷油器 : Factory classes that need to create classes with dependencies

我有一个工厂类,它创建了几个不同类型的类。工厂在容器中注册。鉴于它们也具有依赖性,在工厂内部创建类的推荐方法是什么。我显然想避免对容器的依赖,但如果我新建这些类,那么它们将不会使用容器。例如publicclassMyFactory{publicIMyWorkerCreateInstance(WorkerTypeworkerType){if(workerType==WorkerType.A)returnnewWorkerA(dependency1,dependency2);returnnewWorkerB(dependency1);}}所以问题是我从哪里获得这些依赖项。一种选择是使它们成

c# - C++/命令行界面 : How do I declare abstract (in C#) class and method in C++/CLI?

以下C#代码在C++/CLI中的等价物是什么?publicabstractclassSomeClass{publicabstractStringSomeMethod();} 最佳答案 只需稍微混合关键字即可获得正确的语法。abstract在C#中位于前面,但在C++/CLI中位于末尾。与override关键字相同,今天也被C++11兼容的编译器识别,它们期望它位于函数声明的末尾。就像传统C++中的=0标记函数抽象一样:publicrefclassSomeClassabstract{public:virtualString^SomeM

c# - 部分类(class)的目的是什么?

我读了aboutpartialclasses并且,例如,我理解在VisualStudio创建Windows窗体时使用它们的原因,但不排除whenworkingonlargeprojects,spreadingaclassoverseparatefilesenablesmultipleprogrammerstoworkonitatthesametime.后来我看了thisexample我注意到大多数类都被声明为部分类。为什么? 最佳答案 部分类很有用的一个很好的例子是当类由工具(如VS)自动生成并且您希望能够扩展该类的功能并且在工具需

c# - 哪个是 delphi "class of "(类的类型)的 C# 声明?

在delphi中,我可以像这样声明一个类型的类typeTFooClass=classofTFoo;TFoo=classend;此声明的C#等效项是什么? 最佳答案 您在C#中可以获得的最接近的是Type类型,它包含有关类型的元数据。publicclassA{}publicstaticintMain(string[]args){Typeb=typeof(A);}这不是完全相同的。在Delphi中,“其他类型的类型”本身就是可以分配给变量的类型。在C#中,“其他类型的类型”是一个System.Type实例,可以分配给System.Typ

c# - 在抽象父类(super class)的子类中强制使用属性

如何强制子类实现其父类(superclass)的某些属性?原因是我想使用属性来获取有关该类的一般信息,例如“显示名称”、“说明”或“功能”。所以我想我可以在父类(superclass)中实现它们并强制子类实现这些属性。是否有类似于方法的抽象属性?[abstractDeclareMe]publicabstractclassInheritMe{publicabstractvoidDeclareMe();} 最佳答案 由于你的类迟早要运行,你可以在你的基类中添加检查机制来验证你的子类中某些属性的存在。这里有一些示例代码。classProg

c# - 编码数字,z-base-32 的 C# 实现或其他?

我需要对一个整数进行编码/解码,该整数最长为9位,但通常为7位。我想让交流/内存变得更容易-它将通过电话交流、复制和粘贴、从卡片/内存/标签中键入、在标签上手写并且通常被滥用!我希望使用base32减少位数(同时添加校验和)方案。我最赞成z-base-32(在RFC4648实现上)由于一些设计目标(例如手写)和字母表的选择(小写,排列以支持更容易读、写、说和记住的字符)。但是,我找不到C#实现,我担心从现有的Python实现中移植。有人有C#实现吗?或者,有没有人有一组测试用例(除了规范中的示例)我可以用来验证端口?我乐于接受有关替代编码方案的建议。 最佳答

c# - 是什么导致 Xamarin Forms 构建出现 "unrecognized selector sent to class"错误?

首先介绍一下我的系统:Mac操作系统版本10.13.6Xcode版本10VisualStudioformac7.6.6我对Xamarin表单完全陌生,想尝试和学习。我想要做的只是创建一个新的xamarin表单解决方案并开始构建。以下是我经历的步骤:创建新项目从多平台的应用程序子菜单中选择C#中的“空白表单应用程序”目标平台包括Andriod和iOs;共享代码.NETStandard不要为版本控制或应用中心测试而烦恼(未勾选)这里是错误:https://github.com/benfranklin79/shared/blob/master/20180919/error.txt这是解决方案

c# - 无法确定类型 "Class"的 JSON 对象类型

我在尝试将类类型的对象添加到JArray时遇到以下错误。CouldnotdetermineJSONobjecttypefortype"Class"这是我的代码:privatedynamic_JArray=nullprivateJArrayNArray(Repositoryrepository){_JArray=newJArray();string[]amounts=repository.Amounts.Split('|');for(inti=0;i我是这样调用它的:_JArray=NArray(repository);Console.WriteLine(JsonConvert.Seri

c# - 扑克牌 : Should they be enum or struct or class?

我正在设计许多(希望是数千)玩家可以同时玩某些纸牌游戏的游戏网站。这副牌是标准的52张牌。每张牌都有花色和等级。牌将一直被洗牌、发牌、挑选、排序、打出。我的问题是,Card应该是枚举、结构还是类?对于枚举:设每张卡片为一个字节0..51。所以一张卡会占用很少的空间。您可以将一只watch示为8个字节的位集。您可以在需要时非常快速地计算给定卡片的花色和点数:即花色(n)=n/13。这将非常有效。如果需要为Cards写方法,就通过扩展方法来写。对于结构:不,这就像编写机器代码。卡是一种简单的结构,保存的数据很少,不可变,很小。它没有太多行为,因此将其设为结构并将其视为被动数据结构。当需要时

c# - 错误 : A project with an out put type of class library

我试图找出.net并得到这段代码,当我尝试从VS2008运行时它给我这个错误AprojectwithanOutputTypeofClassLibrarycannotbestarteddirectly.Inordertodebugthisproject,addanexecutableprojecttothissolutionwhichreferencestothelibraryproject.Settheexecutableprojectasthestartupproject我正在学习C#,所以不知道该做什么 最佳答案 您不能运行库。