|
|
1
10
如果你想让类可见,但只允许它在你自己的程序集中被子类化。子类本身可能有公共构造函数,也可能通过工厂访问。 我无法评论这是否是WPF中TriggerBase的一个好的设计决策,但至少在某些情况下是合理的。 |
|
|
2
5
我能想到的一个原因是,新实例的实际创建将由同一程序集中的另一个公共类处理。这将迫使您通过另一个类创建实例——可能是某种工厂模式实现。 |
|
3
2
它是公共的,因为它被用作WPF附带的触发器(触发器、多触发器、EventTrigger、DataTrigger等)的基类。如果它不是公开的,那么你就无法将这些类标记为公开。 构造函数是内部的,因为它们不打算让你自己使用。我猜你应该从上面提到的类中派生出来。 |