WPF について話している場合 (WinForms コントロールには Opacity プロパティがありません)、Name プロパティと Opacity プロパティの両方がControl(具体的にはSystem.Windows.Controls.Control) のメンバーです。HandleGraphic の署名を (コントロール コントロール、フロート元、フロート先) に変更してみませんか? すべてのコントロールは Control から派生するため、任意のコントロールをそのメソッドに渡すことができます。
修正
プロパティはのNameメンバーでFrameworkElementあり、Opacityプロパティは のメンバーですUIElement。したがって、Name プロパティと Opacity プロパティの両方を操作するには、少なくとも が必要ですFrameworkElement。Control目的のためにはまだ機能しますが、最小公分母を目指すことをお勧めします。たとえば、 aTextBlockは ではなく、Controlから直接派生しFrameworkElementます。
WPF のコントロールの階層は次のとおりです。
Object
DispatcherObject
DependencyObject
Visual
UIElement
FrameworkElement
Control
そこから複雑になります。例えば:
Button : ButtonBase : ContentControl : Control
TextBox : TextBoxBase : Control
ComboBox : Selector : ItemsControl : Control
DataGrid : MultiSelector : Selector : ItemsControl : Control
しかし、それらはすべてから派生し、Controlどの派生から派生しFrameworkElementます。
型の継承を確認する最も簡単な方法は、コード内の型にキャレットを置き、F12 キーを押すことです。これにより、型を説明する疑似コード (または、利用可能な場合は実際のコード) が提供され、同じ方法で基本クラスをナビゲートできます。