C# 实现某种类型的iTagable接口的最佳方法

C# 实现某种类型的iTagable接口的最佳方法,c#,winforms,interface,C#,Winforms,Interface,我有一个我正在创建的程序,它报告另一个特定程序备份xml文件。我已经到了需要实现某种类型的iTagable接口的地步,但我不确定如何在代码方面实现它 我的想法是,每个项目(BackupClient、BackupVersion和BackupFile)都应该实现一个iTagable界面,用于突出显示HTML或Excel报表中的旧文件、过期文件或不存在的文件。用户将能够在设置中指定标记 我的问题是,用户如何动态地指定“标记”,例如文件日期>3天背景色=红色。事实上,我想我的问题更多,作为程序员,我如何

我有一个我正在创建的程序,它报告另一个特定程序备份xml文件。我已经到了需要实现某种类型的iTagable接口的地步,但我不确定如何在代码方面实现它

我的想法是,每个项目(BackupClient、BackupVersion和BackupFile)都应该实现一个iTagable界面,用于突出显示HTML或Excel报表中的旧文件、过期文件或不存在的文件。用户将能够在设置中指定标记

我的问题是,用户如何动态地指定“标记”,例如文件日期>3天背景色=红色。事实上,我想我的问题更多,作为程序员,我如何动态地实现它?我在想表达式树,但我不确定这是一条路,因为我没有对它们进行太多的研究

我知道我的iTagable接口会有诸如AddTag(T tag)、RemoveTag(T tag)之类的方法,但到底是什么规定了要添加的标记的标准呢


我意识到这可能是主观的,如果需要可以标记为wiki,但我真的被卡住了。任何输入都会非常有用

在与其他程序员讨论之后,最好的解决方案可能是Vistor模式。它不会把我的课弄得乱七八糟,而且会保持一切整洁