Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
盲目调用公共方法(C#)_C#_Asp.net_Public Method - Fatal编程技术网

盲目调用公共方法(C#)

盲目调用公共方法(C#),c#,asp.net,public-method,C#,Asp.net,Public Method,好吧,奇怪的一个。我有许多带有转发器的usercontrols,转发器的布局在所有控件中都是相同的,它们都有一个公开的bindData()方法 我想知道,我是否可以在不必指定父控件的情况下为分页设置另一个usercontrol 我能够做到以下几点: ((controls.specificuserControlClass)Parent).bindData(); 这很好-但是我需要在寻呼机中指定specificuserControlClass,然后需要它“每个中继器”,如果你明白我的意思的话 那么

好吧,奇怪的一个。我有许多带有转发器的usercontrols,转发器的布局在所有控件中都是相同的,它们都有一个公开的
bindData()
方法

我想知道,我是否可以在不必指定父控件的情况下为分页设置另一个usercontrol

我能够做到以下几点:

((controls.specificuserControlClass)Parent).bindData();
这很好-但是我需要在寻呼机中指定
specificuserControlClass
,然后需要它“每个中继器”,如果你明白我的意思的话


那么我可以从子控件中盲目调用
Parent.bindData()
?我“知道”该方法存在(或将生成检查以确保),但是Visual Studio不高兴,因为它不知道该方法。

为什么不让您的控件都实现特定的接口

 public interface IBindData
 {
      void bindData();
 }
然后,您只需执行以下操作:

((IBindData)Parent).bindData()

它应该根据需要调用每个控件的方法

为什么不让所有控件都实现一个特定的接口

 public interface IBindData
 {
      void bindData();
 }
然后,您只需执行以下操作:

((IBindData)Parent).bindData()

它应该根据需要调用每个控件的方法

要么这样,要么使用反射。就个人而言,我宁愿覆盖
OnItemCreated
,并将代码从视图中删除,但这也将是更多的工作=DCurse您的速度,@Tejs,这将是我的答案!)+1速度真快!谢谢大家-我从VB.NET到C#的迁移(技能)进展缓慢,很高兴学到一些新的东西:)这不是你在VB中做不到的事情,语法略有不同,但概念是相同的。要么这样,要么使用反射。就我个人而言,我宁愿重写
OnItemCreated
并将代码从视图中删除,但这也将是更多的工作量=DCurse你的速度,@Tejs,这将是我的答案!:)+1速度真快!谢谢大家-我的(技能)从VB.NET迁移到C#的过程很慢,很高兴能学到一些新东西:)这不是VB不能做的事情,语法略有不同,但概念是相同的。bindData()方法来自接口吗?如果不是,可以吗?@zimdanen看着下面的答案,我肯定可以,我现在只是在尝试!bindData()方法是否来自接口?如果不是,可以吗?@zimdanen看着下面的答案,我肯定可以,我现在只是在尝试!