jjzjj

abstraction

全部标签

iPhone核心数据问题: referenceData64 only defined for abstract class

我有一个应用程序可以下载/解析一个大的XML文件并使用核心数据(大约4000个对象(实体))存储信息。XML在不同的线程中加载/解析,该线程有自己的NSManagedObjectContext。尝试将实体保存到持久存储时,有时会出现以下错误(大约20%)2010-03-0323:41:42.802xxx[7487:4203]XML保存异常2010-03-0323:41:42.802xxx[7487:4203]描述:*-_referenceData64仅为抽象类定义。定义-[NSTemporaryObjectID_default_referenceData64]!2010-03-0323

c# - 错误 : must declare a body because it is not marked abstract or extern

在Win10上使用csc.exe编译时,清除此错误时遇到一些问题。我对C#很陌生。在我1月份开始上课之前做一些自学。遵循有关执行此操作的“TeamTreehouse”教程。他们在工作区中使用mono。我更喜欢在我的机器上使用vscode来熟悉在单声道之外使用C#。从我读到的关于CS0501的内容来看,我的问题是编译器问题,不应该是问题,但使用csc.exe会导致问题。添加abstract会带来一系列全新的问题。从终端编译器使用的命令是csc*.cs我不确定下一步该去哪里寻找解决方案。我一直无法使用所谓的Auto-ImplementedProperties找到一个可用的。错误是Invad

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# - 可移植类库不支持System.IO,为什么?

我创建了一个可移植类库,用于我的Monodroid项目。但问题是我需要System.IO库,但不幸的是我无法添加它。我什至尝试通过“添加引用”选项添加它,但没有成功。为什么会这样?我该怎么做? 最佳答案 您不能使用System.IO,因为它不是可移植类库。System.IO进行特定于其运行的操作系统(Windows)的调用,而可移植类库是跨平台的。可以找到您正在寻找的解决方案here:Whatshouldyoudowhenyou’retryingtowriteaportablelibrarybutyouneedsomefunctio

c# - .NET 属性生成 "must declare a body because it is not marked abstract or extern"编译错误

我有一个.NET3.5(目标框架)网络应用程序。我有一些看起来像这样的代码:publicstringLogPath{get;privateset;}publicstringErrorMsg{get;privateset;}它给我这些行的编译错误:"mustdeclareabodybecauseitisnotmarkedabstractorextern."有什么想法吗?我的理解是这种风格的属性在.NET3.0中是有效的。谢谢!原来问题出在我的.sln文件本身。尽管我在构建选项中更改了目标版本,但在.sln文件中,我发现了这一点:TargetFramework="3.0"将其更改为“3.5

c# - C#中的重用抽象原则

在我们的C#MVC应用程序中,我们有很多接口(interface)与实现它们的对象一对一映射。即:基本上,对于创建的每个对象,都执行了“提取接口(interface)”操作。Moq使用这些接口(interface)为我们的单元测试生成模拟对象。但那是唯一一次重新使用接口(interface)。我们系统中没有具体对象实现多个接口(interface)。谁能告诉我这是否会在以后造成问题?如果是这样,它们会是什么?我在想,我们的应用程序有很多重复,例如在这两个接口(interface)中(编辑:在我们的服务层中)唯一不同的是方法名称和它们采用的参数类型,但是从语义上讲,他们对发送消息的存储库

C# 设计 : Why is new/override required on abstract methods but not on virtual methods?

为什么抽象方法需要new/override而虚方法不​​需要?示例1:abstractclassShapesClass{abstractpublicintArea();//abstract!}classSquare:ShapesClass{intx,y;publicintArea()//Error:missing'override'or'new'{returnx*y;}}编译器会显示这个错误:要使当前成员覆盖该实现,请添加override关键字。否则添加新关键字示例2:classShapesClass{virtualpublicintArea(){return0;}//itisvirt

c# - 将成员委托(delegate)给经典函数有更多优点或缺点?

classmy_class{publicintadd_1(inta,intb){returna+b;}publicfuncadd_2=(a,b)=>{returna+b;}}add_1是一个函数,而add_2是一个委托(delegate)。然而,在这种情况下,委托(delegate)可以扮演类似的角色。由于先例和语言的设计,C#方法的默认选择应该是函数。然而,这两种方法各有利弊,所以我列出了一份list。这两种方法还有更多优点或缺点吗?传统方法的优势。更传统函数的外部用户看到命名参数-对于add_2语法arg_n和类型通常没有足够的信息。与intellisense配合使用效果更好-ty

c# - C# 中的 "Abstract"接口(interface)

这是一个学术问题。背后可以说是一个X-Y问题,稍后我可能会单独发布。但我实际上对这里的学术问题特别感兴趣。我经常发现我有一组接口(interface),它们都具有共同的属性。我想定义一个基本接口(interface)来通用化这些接口(interface),部分原因是为了避免重复,部分原因是我可以传递一个对象并在不知道确切类型的情况下使用通用方法。也许我有IFooRepository,IBarRepository等,我可以声明IRepository.或者我有一个IHappyBot,ISadBot,IConfusedBot,所有这些都有IBot共同点。值得注意的是,没有任何类会直接实现这些

javascript 抽象控制台日志记录

我想做一个函数,像这样。例如:functionLogger(){this.log=function(msg){console.log(msg);}}我想在函数/模块等中使用它,一切正常。但是我浏览器中的默认控制台通常会给出文件名+行号。现在,当我抽象此功能时,fileName和lineNumber不在我放置instance.log()的位置。因为它会说明调用console.log的位置,而不是函数本身。所以我的问题是:如何从我想使用我的记录器的地方获得正确的信息?或者请给我任何改进此功能的提示。 最佳答案 functionLogge