草庐IT

derived-class

全部标签

c# - VS2010 'Show Derived Types' 类 View 中缺少选项

我正在VisualStudio2010中处理VisualC#项目,并在类View中浏览各种类型。根据this文档中,类View设置菜单中应该有一个类似于“显示基本类型”选项的“显示派生类型”选项。然而,它似乎不见了。我还没有设法找到任何错误报告或对这个问题的引用,所以我想知道我是否只是遗漏了一些东西。 最佳答案 我在VisualStudio2010中看到它,这是一个具有派生类型的C++项目。但是,在使用派生类型提到的C#项目中,未提供此选项。我正在检查一个没有派生类型的项目,看看这是否会导致该选项被禁用。编辑:似乎没有派生类型的项目

c# - 为什么这些是 "Special Classes"?

看完thisquestion问“特殊类”到底是什么,我剩下的问题是为什么这六个类System.Object、System.Array、System.Delegate、System.Enum和System.ValueType被选中并且hard-coded作为特殊类,防止它们被用作泛型类或方法的约束。很容易理解为什么System.Object在那里;所有类都继承System.Object,因此无需将其作为约束包含在内。我不清楚的是,为什么其他人被选为这个特殊类(class)类别的一部分。PS:当尝试将特殊类用作约束时,特殊类会引发编译错误CS0702。 最佳答案

c# - 我的控件是 "not allowed here because it does not extend class ' System.Web.UI.UserControl'”

所以我有另一个刮面器(无论如何对我来说)。我正在尝试在CMS中创建我自己的自定义控件,我只有部分源代码(即供应商提供给我的示例)。基本上,我创建了一个名为DataDefinitionContent的类,它扩展了ControlBase。现在,根据我从元数据中获得的信息,ControlBase扩展了UserControl,所以我原以为这不会发生什么戏剧性的事情。谁能阐明为什么这对我不起作用?我的类(class):publicpartialclassDataDefinitionContent:ControlBase,ICustomControl{...Stuff}控制库:usingSyste

c# - MVC 5 : Should I inherit my User from IdentityUser class?

我正在尝试学习Asp.NetIdentity和在这个tutorial,在Models\AppModels,cs部分创建EntityFramework代码优先ToDo模型MyUser类(class)继承自IdentityUser类和MyDbContext继承自IdentityDbContext类(class)。这是为什么?假设我有一个User包含我的Web应用程序用户的所有信息的类,该类是否应该继承自IdentityUser,我的DbContext是否应该继承?继承自IdentityDbContext?此外,从IdentityDbContext继承dbcontext类的优点是什么?平原D

c# - "Class of <T> where T : Enum"不工作

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:CreateGenericmethodconstrainingTtoanEnum为什么我们不能在C#中执行此操作?而且,如果可能的话,我怎样才能做类似的事情!我想要什么:publicclassATagwhereT:enum{[Somecode..]}publicclassclassBasewhereT:enum{publicIDictionarytags{get;set;}}因此,当需要调用它时,我很确定只会获得我的枚举值之一。publicclassAClassUsingTag:classBase{publi

c# - 无法将类型 'Task<Derived>' 转换为 'Task<Interface>'

我有以下带有委托(delegate)参数的函数,它接受一个接口(interface)的类型并返回另一个接口(interface)的任务。publicvoidBar(Func>func){thrownewNotImplementedException();}我还有一个带有参数的函数作为IMessage的实例并返回一个任务。Message和Result是IMessage的实现和IResult分别。privateTaskDoSomething(Messagem){returnnewTask(()=>newResult());}当我将DoSomething传递到Bar时收到错误。Bar(m=>

c# - "where NOT derived from"是否有通用类型约束?

我们可以像这样对泛型类型参数指定一个“派生自”约束:classBarwhereT:IFooGenerator有没有办法指定不是派生自?我的用例:我有一堆FooGenerators是可并行化的,每个都具有相同的并行化代码,但我们不希望它们总是被并行化。publicclassFooGenerator:IFooGenerator{publicFooGenerateFoo(){...}}因此,我创建了一个用于并行生成Foo的通用容器类:publicclassParallelFooGenerator:IFooGeneratorwhereT:IFooGenerator{publicFooGener

C#:如何从派生类的静态方法调用基类的静态方法?

在C#中,我有基类Product和派生类Widget。产品包含静态方法MyMethod()。我想从静态方法Widget.MyMethod()调用静态方法Product.MyMethod()。我不能使用base关键字,因为它只适用于实例方法。我可以显式调用Product.MyMethod(),但如果我稍后将Widget更改为从另一个类派生,我必须修改该方法。C#中是否有一些类似于base的语法允许我从派生类的静态方法调用基类的静态方法? 最佳答案 static方法基本上是一种从面向对象概念回退的方法。因此,它们在继承层次结构中不是很灵

c# - 在 C# 中的基本构造函数之前执行派生构造函数

我的问题是,我想将一个对象传递给派生类,但必须在基类构造函数之前完成,因为基类会立即调用派生类的Start()使用该对象的方法。这是基类的摘录(为方便起见,从BarcodeScanner重命名)。publicabstractclassMyBase{publicMyBase(){if(Initialize())this.Start();}publicabstractboolInitialize();publicabstractvoidStart();}这是我正在创建的派生类。classMyDerived:MyBase{privatestringsampleObject;publicMyD

c# - 错误 "A template containing a class feature must end with a class feature"

我在VisualStudio2010下开发C#T4预处理模板时遇到以下编译错误:Atemplatecontainingaclassfeaturemustendwithaclassfeature 最佳答案 错误是由最后一个#>后的不可见空格引起的同样重要的是要记住,不可见的空格可能会导致其他难以理解的编译错误。如果您想查看更大的图片,请查看以下链接:AgoodexampleAgoodexplanaton,通过RyanPugh既然您已经意识到处理文本模板时不可见空间的危害有多大,我的建议是:让它们可见。如果您不知道如何操作,请参阅Jee