C# 在c中更新静态变量#
我正在开发一个用c#为Windows Phone 8播放背景音频的程序。 我的解决方案包含两个项目:主项目和AudioPlaybackAgent项目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
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;
}
...
...
}
}