草庐IT

inheritance

全部标签

c# - DataGridView 锁定在继承的 UserControl 上

我有一个带有一些预定义控件(groupbox、button、datagridview)的UserControl,这些控件被标记为protected,组件变量也被标记为protected。然后我想从这个基本UserControl继承到另一个UserControl,但是DataGridView始终锁定在设计器中。我怀疑它可能与实现ISupportInitilize的DataGridView有关。publicclassBaseGridDetail:UserControl定义了DataGridView控件(等)。publicclassInheritedDetail:BaseGridDetail

无法从具有多个返回的 Select 中的用法推断出 C# 类型参数

我不认为我在做任何太深奥的事情,但我没有看到任何其他关于此的问题。以下代码(我已将其简化为基本要素)在C#4中生成编译器错误。但是,类型参数是什么应该是显而易见的-最大公分母(“A类”)也是在方法“Frob”的返回类型中明确定义。编译器不应该列出lambda表达式中的所有返回类型,创建一个祖先树来找到它们的共同祖先,然后将其与包含方法的预期返回类型进行协调吗?Thetypeargumentsformethod'System.Linq.Enumerable.Select(System.Collections.Generic.IEnumerable,System.Func)'cannotb

c# - 将参数传递给基类构造函数

如果基类和派生类都有带参数的构造函数,那么我们在哪里将参数传递给基类构造函数? 最佳答案 像这样:publicclassDerivedClass:BaseClass{publicDerivedClass(intderivedParam,StringbaseParam):base(baseParam){}}此处的base关键字调用匹配提供的参数重载的基类构造函数。 关于c#-将参数传递给基类构造函数,我们在StackOverflow上找到一个类似的问题: htt

通过基类变量访问的 C# 保护成员

这个问题在这里已经有了答案:Whycan'tIaccessC#protectedmembersexceptlikethis?(7个答案)关闭9年前。这似乎是个新手问题,但您能解释一下为什么Der.B()方法无法通过Base类变量访问protectedFoo吗?这对我来说很奇怪:publicclassBase{protectedintFoo;}publicclassDer:Base{privatevoidB(Baseb){Foo=b.Foo;}//Error:CannotaccessprotectedmemberprivatevoidD(Derd){Foo=d.Foo;}//OK}谢谢!

c# - 在 MVC4 中显示和错误,我必须实现一些接口(interface),但我已经完成了

我正在尝试创建自己的过滤器属性以支持多语言。这个想法很简单。URL代表语言。*http://host.ext/en/rest_of_the_url*将以英文打开并且*http://host.ext/hy/rest_of_the_url*将以亚美尼亚语打开。问题是在运行时它说MultilingualActionFilterAttribute这是错误文本“给定的过滤器实例必须实现以下一个或多个过滤器接口(interface):IAuthorizationFilter、IActionFilter、IResultFilter、IExceptionFilter。”这里我用它作为全局过滤器。nam

c# - 除非继承,否则使 C# 不实例化类的最简单方法?

使C#不实例化类除非继承的最简单方法是什么?听起来很奇怪,但我不想解释原因。我有一个基类和两个继承它的类。我只想使用派生类而不是基类。派生类没有任何额外的功能。不允许我编写newBaseClass();的最简单方法是什么?所以我不会不小心使用它?我确实有对基类而不是派生类进行操作的函数。 最佳答案 使该类成为抽象基类。abstractclassPerson{}classProgrammer:Person{}varperson=newPerson();//compiletimeerrorvarprogrammer=newProgram

c# - 注册抛出 'Inheritance security rules violated while overriding member'

对于我的学校项目,我正在使用MVC项目附带的默认帐户Controller注册函数://POST:/Account/Register[HttpPost][AllowAnonymous][ValidateAntiForgeryToken]publicasyncTaskRegister(RegisterViewModelmodel){if(ModelState.IsValid){varuser=newApplicationUser(){UserName=model.UserName};varresult=awaitUserManager.CreateAsync(user,model.Pass

c# - 我如何使用 NUnit 创建一个通用的 BaseTest,我可以从它继承并从 base 运行测试?

所以基本上我有一个域对象和一个可以对该对象执行CRUD操作的通用存储库。publicinterfaceIBaseRepositorywhereT:BaseEntity{voidAdd(Tentity);voidRemove(Tentity);TById(intid);IEnumerableAll();}所以我有这个接口(interface)的多个实现,每个域对象一个。我想写一些集成测试(使用nunit),为此我想我会做一个BaseRepositoryTest-像这样:publicabstractclassBaseRepositoryTestswhereT:BaseEntity{publ

c# - cocos2d-xna : sprite is not drawn if using instance of a class inherited from sprite

我有一个基于Cocos2DXNA和MonoGame的游戏项目。我想在CCSprite类中添加一些自定义逻辑,所以我创建了一个继承自CCSprite的类。我添加了一个虚拟自动属性并尝试使用此类,但出于某种原因,作为我的自定义Sprite类实例创建的Sprite未显示在图层上,而作为CCSprite类实例的Sprite完全没问题。代码如下所示:publicclassSprite:CCSprite{publicstringSomeProp{get;set;}}...line1:varmySprite1=newSprite("texture.png");line2:varmySprite1=n

c# - 为什么值类型继承自引用类型?

这个问题在这里已经有了答案:HowdoValueTypesderivefromObject(ReferenceType)andstillbeValueTypes?(6个答案)System.ValueTypeUnderstanding(7个答案)关闭7年前。我有两个问题:我们知道所有类型都派生自Object,它是一个引用类型。我的问题是为什么int-这是一个value类型-继承自引用类型Object?这可能吗?如果int派生自Object,为什么我们在将int传递给需要的函数时需要装箱对象作为参数?通常,当您需要将派生类型的对象作为参数传递给期望基类型对象的函数时,使用引用,您不需要做任