Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在c中更新静态变量#_C#_Windows Phone 8_Static Variables - Fatal编程技术网

C# 在c中更新静态变量#

C# 在c中更新静态变量#,c#,windows-phone-8,static-variables,C#,Windows Phone 8,Static Variables,我正在开发一个用c#为Windows Phone 8播放背景音频的程序。 我的解决方案包含两个项目:主项目和AudioPlaybackAgent项目 在AudioPlaybackAgent中,我使用 在文件“AudioPlayer.cs”中获取并设置: 在主项目中,我尝试更新文件中的静态变量 “MainPage.xaml.cs”中添加: namespace Main_Project { public partial class MainPage : PhoneApplicationPa

我正在开发一个用c#为Windows Phone 8播放背景音频的程序。 我的解决方案包含两个项目:主项目和AudioPlaybackAgent项目

  • 在AudioPlaybackAgent中,我使用 在文件“AudioPlayer.cs”中获取并设置:

  • 在主项目中,我尝试更新文件中的静态变量 “MainPage.xaml.cs”中添加:

    namespace Main_Project
    {
        public partial class MainPage : PhoneApplicationPage
        {
    
             ...
             ...
    
             private void button_Click(object sender, RoutedEventArgs e)
             {
                 AudioPlaybackAgent.AudioPlayer.CurrentTrackNumber = myValue;  
             }
    
             ...
             ...
    
        }
    }
    

  • 但这个变量并没有改变。为什么?

    这些项目在不同的进程中运行,因此它们有不同的静态副本。您通常通过覆盖的代理方法获得基本信息,如跟踪更改等。如果您需要更多信息(如任意跳入播放列表),则可以使用文件和IPC机制(如Win32 events)发送信号——请参阅


    这在通用Windows应用程序中变得更好了,因为有一种直接的方法可以通过来来回发送消息。

    静态变量的全部概念不是它们不会改变吗?@Kickaha:也许你把
    static
    constant
    搞混了。请参阅@Heinzsiahan Thank:)@Developer您尝试过这个
    内部静态int currentTrackNumber=0
    
    namespace Main_Project
    {
        public partial class MainPage : PhoneApplicationPage
        {
    
             ...
             ...
    
             private void button_Click(object sender, RoutedEventArgs e)
             {
                 AudioPlaybackAgent.AudioPlayer.CurrentTrackNumber = myValue;  
             }
    
             ...
             ...
    
        }
    }