gpt4 book ai didi

c# - 如何在两个文件中的两个部分类之间共享一个变量?

转载 作者:太空宇宙 更新时间:2023-11-03 18:23:00 26 4
gpt4 key购买 nike

我在一个文件中有这段代码:

namespace Japanese
{
public partial class PhrasesPage : ContentPage
{
PhrasesFrame phrasesFrame = new PhrasesFrame();

此代码在另一个文件中:

namespace Japanese.Views.Phrases
{
public partial class PhrasesPage
{
public void setTimeInterval()
{

phrasesFrame // can't access

我希望能够访问第二个文件中的 phrasesFrame,但似乎不可能。谁能给我建议我可以做什么,这样我就可以在另一个文件中访问它,该文件也是一个部分类。还有一个问题。我应该在所有具有部分类的文件中继承 ContentPage 还是仅一个文件就足够了?

最佳答案

您可以轻松访问其中的部分类的所有成员,甚至是私有(private)的。

public partial class Test
{
private int x = 5;
}

public partial class Test
{
public void Run()
{
Console.WriteLine(x); // outputs 5
}
}

但是,您使用不当。由于您的类位于两个不同的命名空间中,因此编译器将它们视为两个不同的类:

Japanese.PhrasesPage
Japanese.Views.Phrases.PhrasesPage

如果你想让它像分部类一样工作,你需要将它们放在一个命名空间中:

// 1
namespace Japanese.Views.Phrases
{
public partial class PhrasesPage : ContentPage
{
PhrasesFrame phrasesFrame = new PhrasesFrame();

// 2
namespace Japanese.Views.Phrases
{
public partial class PhrasesPage
{
public void setTimeInterval()
{
phrasesFrame // CAN access

但是,对这些类的职责做一些分析。
由于您将它们放入不同的命名空间并继承自不同的类,那么它们可能具有不同的含义并且需要通过设计成为单独的类?

您始终可以通过组合或聚合使类彼此相关,而不是使其部分相关。部分类不是很方便,通常用于代码生成场景。

对我来说,setTimeInterval 听起来与“短语”和“页面”无关。

关于c# - 如何在两个文件中的两个部分类之间共享一个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45024881/

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