我有一個屬性A
在基類Base
的所有小類中。
如何生成屬性A
的抽象屬性定義到基類Base
?如何自動將屬性聲明覆制到基類
我知道ReSharper的重構拉會員最多,但移動的財產,以基類。
我需要在基類的抽象屬性,並在所有子類一個首要性能。是否有重構在Visual Studio或ReSharper可以做到自動對我來說?
我有一個屬性A
在基類Base
的所有小類中。
如何生成屬性A
的抽象屬性定義到基類Base
?如何自動將屬性聲明覆制到基類
我知道ReSharper的重構拉會員最多,但移動的財產,以基類。
我需要在基類的抽象屬性,並在所有子類一個首要性能。是否有重構在Visual Studio或ReSharper可以做到自動對我來說?
有一個複選框「使抽象的」對以ReSharper的拉會員的對話框:
我不知道ReSharper的可以移動起來,爲你自動創建需要一個抽象的,但你可以ATLEAST手動定義它像這樣
在抽象類:
public abstract double A
{
get;
}
在子類:
public override double A
{
get
{
return 3.141;
}
}
定義新接口(或使用現有接口)並定義接口中的屬性可能是一個更清晰的設計。這樣,您現有的子類將不必使用override
。
public interface IInterface {
string MyProperty { get; }
}
public class Class : IInterface {
public string MyProperty { get; set; }
}
public abstract class AbstractClass {
public abstract string Value { get; }
}
public class ConcreteClass : AbstractClass {
private string m_Value;
public override string Value {
get { return m_Value; }
}
public void SetValue(string value) {
m_Value = value;
}
}
我希望這將有助於你。
哦,已經監督複選框。你的回答正是我所尋找的。 – thersch 2012-07-13 11:46:08
Unforunatly * Pull Members Up *不會自動更新其他子類(通過使其覆蓋*)。 – thersch 2012-07-13 12:01:31
您可以對請求進行投票,在此處進行修復http://youtrack.jetbrains.com/issue/RSRP-275311 – 2012-07-18 11:41:32