繁体   English   中英

通过基类C#WPF从类检索属性

[英]Retrieve property from class through baseclass C# WPF

我有一个叫做ModelBase的类:

public abstract class ModelBase : ViewModelBase
{
    public ModelBase 
    {
        ProcessObjects.Instance.AddProcessObject(name, this);
    }
    public abstract void Dispose();
    public String Name { get; set; }
    ....
    ....
}

public class SomeModel1: ModelBase
{
    public String customprop1 { get; set; }
}

public class SomeModel2: ModelBase
{
    public String customprop2 { get; set; }
}

我在应用程序单例中保留了所有对象实例的列表。 现在,在应用程序的其他地方,我想使用此单例列表从SomeModel2中检索customprop2。 我可以将对象检索为modelbase对象并将其强制转换为:

SomeMethod()
{
    if(_obj.Name == "SomeModel2"){
        var _obj = obj as SomeModel2;
        var _customProp2 = obj.customprop2 ;
    }
}

但是理想情况下,我只想通过知道对象实例在基础模型的父对象中存在的值直接尝试从对象实例中检索值。

try{
   //Some code to automatically cast the object as parent.
   var _customProp2 = _obj.customProp2;
}catch{
   //Notify user that his request failed
}

原因是用户可以写入文本框并启动该特定属性的日志记录功能。

您是否可以在基类中创建虚拟属性/方法并在派生类中覆盖它。 这样,您可以随时使用基类引用从对象中检索值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM