gpt4 book ai didi

c# - C#接口(interface)的使用方法

转载 作者:行者123 更新时间:2023-11-30 22:26:04 25 4
gpt4 key购买 nike

使用 C# .NET 4.0、Visual Studio 2010。

目前我正在研究类的解耦和使用接口(interface)。我已经从另一篇文章中实现了一个解决方案来测试我是否可以让它工作,但不幸的是我从来没有使用过一个接口(interface)。

所以这是我所拥有的基础知识:

表格 1:

partial class Form1 : InterfacePareto
{
public string myTest
{
get { return herpTxt.Text; }
set { herpTxt.Text = value; }
}
}

接口(interface):

interface InterfacePareto
{
string myTest { get; set; }
}

我的工作类:

Class MyWorkingOutClass
{
private readonly InterfacePareto pare;

public MyWorkingOutClass(InterfacePareto pare)
{
this.pare = pare;
}

private void Testtime()
{
string firstName = pare.myTest;
pare.myTest = firstName + " extra";
}
}

目的:

目前的计划是从表单文本框中获取文本。然后将其传递给 worker 类(Class)。工作类然后进行任何需要的计算等,然后将结果传递回表单文本框。

我的问题是,我的代码是否在正确的轨道上。如果是,那我错过了什么/做错了什么?或者,如果有人认为这不是实现我所需的正确方法,他们有什么建议吗?

非常感谢!

最佳答案

我刚刚测试了代码,这对我来说工作正常:

public partial class MainForm :Form, InterfacePareto //My main form inheriting Form class and interface
{
public MainForm()
{
InitializeComponent();
}

public string myTest
{
get { return herpTxt.Text; }
set { herpTxt.Text = value; }
}

private void button1_Click(object sender, EventArgs e)
{
//On button click create MyWorkingOutClass instance and pass MainForms instance
MyWorkingOutClass mc = new MyWorkingOutClass(this);
//After this line text box content will change
mc.Testtime();
}
}

//Changed modifier to public
public interface InterfacePareto
{
string myTest { get; set; }
}

//Changed modifier to public
public class MyWorkingOutClass
{
private readonly InterfacePareto pare;

public MyWorkingOutClass(InterfacePareto pare)
{
this.pare = pare;
}

//Changed modifier to public
public void Testtime()
{
string firstName = pare.myTest;
pare.myTest = firstName + " extra";
}
}

关于c# - C#接口(interface)的使用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12052624/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com