引用可在此类中分配的类变量的构造函数。我如何在这个类中创建,我不能在构造函数中分配它们,但是使用不同的方法?
创建课程:
CreatePackWindow createPackWindow = new CreatePackWindow(ref title, ref description);
if (createPackWindow.ShowDialog() == true)
{
Console.WiteLine(title, description);
}
类CreatePackWindow:
public partial class CreatePackWindow : Window
{
public CreatePackWindow(ref string title, ref string description)
{
InitializeComponent();
}
private void btnCreate_Click(object sender, RoutedEventArgs e)
{
???title = tbPackName.Text; **// How to assign here?**
???description = tbDescription.Text; **// How to assign here?**
this.DialogResult = true;
Close();
}
//..........
}
我知道您需要创建指向标题和描述的指针以及使用它们的方法,但不知道如何操作:(
请帮忙。 谢谢。
答案 0 :(得分:3)
您无法使用ref
将字段作为指针; ref
仅在通话期间有效。要做你想做的事,也许:
后者可能是最接近你想要的。即有一个
class Foo
{
public string Title{get;set;}
public string Description{get;set;}
}
public partial class CreatePackWindow : Window
{
private readonly Foo foo;
public CreatePackWindow(Foo foo)
{
InitializeComponent();
this.Foo = foo;
}
private void btnCreate_Click(object sender, RoutedEventArgs e)
{
foo.Title = tbPackName.Text;
foo.Description = tbDescription.Text;
this.DialogResult = true;
Close();
}
}
和
var foo = new Foo();
CreatePackWindow createPackWindow = new CreatePackWindow(foo);
if (createPackWindow.ShowDialog() == true)
{
Console.WiteLine(foo.Title, foo.Description);
}