gpt4 book ai didi

c# - 创建新类时如何传递类的实例?

转载 作者:太空宇宙 更新时间:2023-11-03 22:49:40 25 4
gpt4 key购买 nike

这是我想做的:

public partial class PhrasesFrame : Frame
{
public PhrasesFrameViewModel vm = new PhrasesFrameViewModel(this);

public PhrasesFrame()
{
InitializeComponent();
}

public class PhrasesFrameViewModel : ObservableProperty
{

PhrasesFrame phrasesFrame;

PhrasesFrameViewModel(PhrasesFrame phrasesFrame) {
this.phrasesFrame = phrasesFrame;
}

我想为新的 PhrasesFrameViewModel 提供对创建它的类的引用。

但是我收到消息:

Keyword "this" is not available in the current context

最佳答案

在构造函数中创建 View 模型,以便在正确的上下文中访问 this 关键字。

public partial class PhrasesFrame : Frame {
public PhrasesFrameViewModel vm;

public PhrasesFrame() {
InitializeComponent();
vm = new PhrasesFrameViewModel(this);
}

//...
}

这假定 View 模型有一个可公开访问的构造函数,该构造函数接受传递的参数。

public class PhrasesFrameViewModel : ObservableProperty {

private readonly PhrasesFrame phrasesFrame;

public PhrasesFrameViewModel(PhrasesFrame phrasesFrame) {
this.phrasesFrame = phrasesFrame;
}

//...
}

关于c# - 创建新类时如何传递类的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47957992/

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