扩展具有附加功能的现有类
本文关键字:功能 扩展 | 更新日期: 2023-09-27 18:33:38
如何使用其他属性、方法或函数扩展现有类?以便我可以在 XAML 代码中使用它们?我想扩展 AlavonDock 库并为现有类添加更多功能。
这正是我的意思:AvalonDock.dll 应该在类 LayoutItem 中包含另一个属性:SubTitle。我不想编辑现有的类(在AvalonDock库中)。但是我想创建自己的dll来扩展AvalonDock.dll的功能。
只需像扩展任何其他类一样扩展相关类:
using AvalonDock; // or whatever the dll is called
public class ExtendedClass : OriginalClassToExtend
{
private string subTitle = string.Empty;
public ExtendedClass() : base()
{
// Add new functionality to constructor
}
public string SubTitle { get; set; }
}
请查看 MSDN 上的继承(C# 编程指南)页面以获取更多帮助。
实现你自己的类,该类派生自AvalonDock
类,并根据需要添加任何功能
public class MyLayoutItem : LayoutItem
{
public string SubTitle
{
get { return (string)this.GetValue(SubTitleProperty); }
set { this.SetValue(SubTitleProperty, value); }
}
public static readonly DependencyProperty SubTitleProperty = DependencyProperty.Register("SubTitle", typeof(string), typeof(MyLayoutItem),new PropertyMetadata(string.Empty));
}