草庐IT

overriding

全部标签

c# - C#中 'abstract override'有什么用?

出于好奇,我尝试重写基类中的抽象方法,并对实现抽象进行方法处理。如下:publicabstractclassFirstAbstract{publicabstractvoidSomeMethod();}publicabstractclassSecondAbstract:FirstAbstract{publicabstractoverridevoidSomeMethod();//??whatsensedoesthismake?noimplementaionwouldanywayforcethederivedclassestoimplementabstractmethod?}想知道为什么C#

c# - 用另一个分部类覆盖分部类的默认构造函数

我不认为这是可能的,但如果是的话我需要它:)我有一个由VisualStudio2008的wsdl.exe命令行工具自动生成的代理文件。代理输出是部分类。我想覆盖生成的默认构造函数。我不想修改代码,因为它是自动生成的。我尝试创建另一个部分类并重新定义默认构造函数,但这不起作用。然后我尝试使用override和new关键字,但这不起作用。我知道我可以从部分类继承,但这意味着我必须更改所有源代码以指向新的父类。我宁愿不必这样做。有任何想法、解决方法或技巧吗?//Auto-generatedclassnamespaceMyNamespace{publicpartialclassMyWebSer

c# - 用另一个分部类覆盖分部类的默认构造函数

我不认为这是可能的,但如果是的话我需要它:)我有一个由VisualStudio2008的wsdl.exe命令行工具自动生成的代理文件。代理输出是部分类。我想覆盖生成的默认构造函数。我不想修改代码,因为它是自动生成的。我尝试创建另一个部分类并重新定义默认构造函数,但这不起作用。然后我尝试使用override和new关键字,但这不起作用。我知道我可以从部分类继承,但这意味着我必须更改所有源代码以指向新的父类。我宁愿不必这样做。有任何想法、解决方法或技巧吗?//Auto-generatedclassnamespaceMyNamespace{publicpartialclassMyWebSer

c# - 覆盖与方法隐藏

这个问题在这里已经有了答案:DifferencebetweenshadowingandoverridinginC#?(6个答案)关闭3年前。我对在C#中覆盖和隐藏方法有点困惑。每个人的实际用途,以及对何时使用每个人的解释,我们也将不胜感激。我对覆盖感到困惑-我们为什么要覆盖?到目前为止,我了解到的是,通过重写,我们可以在不更改签名的情况下为派生类的方法提供所需的实现。如果我不重写父类(superclass)的方法,而是对子类中的方法进行更改,是否会更改父类(superclass)的方法?我也对以下内容感到困惑-这说明了什么?classA{virtualm1(){console.writ

c# - 覆盖与方法隐藏

这个问题在这里已经有了答案:DifferencebetweenshadowingandoverridinginC#?(6个答案)关闭3年前。我对在C#中覆盖和隐藏方法有点困惑。每个人的实际用途,以及对何时使用每个人的解释,我们也将不胜感激。我对覆盖感到困惑-我们为什么要覆盖?到目前为止,我了解到的是,通过重写,我们可以在不更改签名的情况下为派生类的方法提供所需的实现。如果我不重写父类(superclass)的方法,而是对子类中的方法进行更改,是否会更改父类(superclass)的方法?我也对以下内容感到困惑-这说明了什么?classA{virtualm1(){console.writ

c# - 覆盖可变对象的 GetHashCode?

我已经阅读了大约10个关于何时以及如何重写GetHashCode的不同问题,但仍有一些我不太明白。GetHashCode的大多数实现都基于对象字段的哈希码,但有人指出,GetHashCode的值在对象的整个生命周期内都不应更改。如果它所基于的字段是可变的,那将如何工作?另外,如果我确实希望字典查找等基于引用相等性而不是我覆盖的Equals怎么办?我主要覆盖Equals以便于对我的序列化代码进行单元测试,我假设序列化和反序列化(在我的情况下为XML)会破坏引用相等性,所以我想至少确保值(value)平等是正确的。在这种情况下重写Equals是一种不好的做法吗?基本上在大多数执行代码中,我

c# - 覆盖可变对象的 GetHashCode?

我已经阅读了大约10个关于何时以及如何重写GetHashCode的不同问题,但仍有一些我不太明白。GetHashCode的大多数实现都基于对象字段的哈希码,但有人指出,GetHashCode的值在对象的整个生命周期内都不应更改。如果它所基于的字段是可变的,那将如何工作?另外,如果我确实希望字典查找等基于引用相等性而不是我覆盖的Equals怎么办?我主要覆盖Equals以便于对我的序列化代码进行单元测试,我假设序列化和反序列化(在我的情况下为XML)会破坏引用相等性,所以我想至少确保值(value)平等是正确的。在这种情况下重写Equals是一种不好的做法吗?基本上在大多数执行代码中,我

c# - ASP.NET MVC 3 : Override "name" attribute with TextBoxFor

在使用Html.TextBoxFor时是否可以覆盖name属性?我试过没有成功。我需要使用TextBoxFor来让客户端验证工作,但是出于我不会深入的原因,我需要文本框的名称与生成的名称不同。我尝试了以下方法:@Html.TextBoxFor(x=>x.Data,new{name=Model.Key+"_Data",id=Model.Key+"_Data"})这适用于ID但不适用于名称。这可能吗?更新:查看TextBoxFor的代码。看起来没有简单的方法。希望有人能证明我错了。 最佳答案 Rob,实际上有一个更简单的方法。代替nam

c# - ASP.NET MVC 3 : Override "name" attribute with TextBoxFor

在使用Html.TextBoxFor时是否可以覆盖name属性?我试过没有成功。我需要使用TextBoxFor来让客户端验证工作,但是出于我不会深入的原因,我需要文本框的名称与生成的名称不同。我尝试了以下方法:@Html.TextBoxFor(x=>x.Data,new{name=Model.Key+"_Data",id=Model.Key+"_Data"})这适用于ID但不适用于名称。这可能吗?更新:查看TextBoxFor的代码。看起来没有简单的方法。希望有人能证明我错了。 最佳答案 Rob,实际上有一个更简单的方法。代替nam

c# - 在 C# 中有什么方法可以用扩展方法覆盖类方法吗?

有时我想用扩展方法覆盖类中的方法。在C#中有什么方法可以做到这一点吗?例如:publicstaticclassStringExtension{publicstaticintGetHashCode(thisstringinStr){returnMyHash(inStr);}}我想要这样做的一个案例是能够将字符串的散列存储到数据库中,并让所有使用该字符串类散列的类(即字典等)使用相同的值。)由于内置的​​.NET哈希算法不能保证从一个版本的框架兼容到下一个版本,我想用我自己的替换它。在其他情况下,我也想用扩展方法覆盖类方法,因此它不仅特定于字符串类或GetHashCode方法。我知道我可以