我有一个System.Collections.Generic.Dictionary<System.Web.UI.Control, object>
,其中所有键都可以是System.Web.UI.WebControls.HyperLink
类型或System.Web.UI.WebControls.Label
类型。
我想更改每个控件的Text
属性。由于HyperLink无法实现(为什么?!)ITextControl
,我需要显式转换Label或HyperLink:
Dictionary<Control,object> dic = ..
dic
.Where(p => p.Key is HyperLink)
.ForEach(c => ((HyperLink)c).Text = "something")
dic
.Where(p => p.Key is Label)
.ForEach(c => ((Label)c).Text = "something")
有办法解决这种方法吗?
最佳答案
您可以创建一个派生自HyperLink的类,并让您的类继承自ITextControl。应该清楚从那里去哪里...
关于c# - 字典中的Where()和Replace(),其中(p => p.Key为T),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2859517/