需要帮助才能在C#中正确实现接口

编程入门 行业动态 更新时间:2024-10-24 14:27:23
本文介绍了需要帮助才能在C#中正确实现接口的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

大家好 - 我在C#项目中实现接口时遇到问题。 我有一个带有以下界面的Windows表单:

Hi all - I have a problem with implementing interfaces in a C# project. I have a Windows form with the following interface in it:

public interface Trigger { void UpdateClient(); void UpdateHotel(); } class UpdateParties: Trigger { static void Main() { UpdateParties iImp = new UpdateParties(); iImp.UpdateClient(); iImp.UpdateHotel(); } public void UpdateClient () { this.toolStripStatusLabelGuestID.Text = "Client ID: " + globals.CurrentGuestID; // Populate name details box this.tbGuest.Text = globals.PreFill; } public void UpdateHotel () { this.toolStripStatusLabelHotelID.Text = "Hotel ID: " + globals.CurrentHotelID; // Populate name details box this.tbHotel.Text = globals.PreFill; GetHotelData(); }

其中GetHotelData()在表单本身的按钮单击事件的其他地方使用。 现在我尝试编译时遇到两个问题。第一个是'的错误消息''Myproject.frmDisplay.UpdateParties''不包含''toolStripStatusLabelGuestID''的定义,也没有扩展方法''toolStripStatusLabelGuestID''接受类型''的第一个参数可以找到Myproject.frmDisplay.UpdateParties''(你是否错过了使用指令或汇编引用?) - 每次我弹出在itelf表单上引用一个控件(toolStripStatusLabelHotelID是工具条上的标签,同样的事情发生在一个名为tbGuest的文本框中),所以我得到了四种这类错误消息。 第二个错误是当调用 GetHotelData时,当前上下文中不存在GetHotelData这个名称 ()。我不想复制GetHotelData(),因为它在主窗体上播放数据表等,我不能随便乱播。 如何解决这些问题?我在表单本身有其他代码调用GetHotelData()并操控控件就好了,我不想开始破坏它。我需要做的就是从另一个表单中调用这些方法,以便这个表单更新它的显示。

where GetHotelData() is used elsewhere by a button click event on the form itself. Now I''m facing two problems when I try and compile this. The first is an error message along the lines of ''Myproject.frmDisplay.UpdateParties'' does not contain a definition for ''toolStripStatusLabelGuestID'' and no extension method ''toolStripStatusLabelGuestID'' accepting a first argument of type ''Myproject.frmDisplay.UpdateParties'' could be found (are you missing a using directive or an assembly reference?) - this pops up every time I reference a control on the form itelf (toolStripStatusLabelHotelID is a label on the toolstrip bar, same thing happens for a textbox called tbGuest) and so I get four error messages of this kind. The second error is The name ''GetHotelData'' does not exist in the current context when it comes to invoking GetHotelData(). I don''t want to duplicate GetHotelData() as it plays with data tables etc. on the main form and I can''t shuffle those around. How do I resolve these issues? I have other code in the form itself that invokes GetHotelData() and manipulates the controls just fine, and I don''t want to start breaking things. All I need to do is invoke these methods from another form so that this form updates its display.

推荐答案

不,你没有这样的Windows窗体! 重新开始 - 在Visual Studio中创建一个新的Windows窗体项目,将 Form1 重命名为 UpdateParties ,添加UI元素。 然后更改 公共部分类UpdateParties:表单 to public partial class UpdateParties:Form,Trigger 并从上面的代码段中插入两个函数,和 GetHotelData 函数。 No, you do not have such a Windows Form! Start over again - create a new Windows Forms project in Visual Studio, rename Form1 to UpdateParties, add the UI elements. And then change public partial class UpdateParties : Form to public partial class UpdateParties : Form, Trigger and insert the two functions from your snippet above, and the GetHotelData function.

更多推荐

需要帮助才能在C#中正确实现接口

本文发布于:2023-11-13 00:58:59,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1582975.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:能在   接口   正确

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!