我的局部类没有针对使用NETStandard 2.0的Xamarin Forms项目中的#if
问题的一个示例是:
public partial class App : Application
{
#region StaticString
#if __IOS__
public static String A
#endif
#if __ANDROID__
public static String A
#endif
#if WINDOWS_UWP
public static String A;
#endif
#endregion
public App ()
{
InitializeComponent();
InitializeApplication();
#region Teste
#if __IOS__
A="ios";
#endif
#if __ANDROID__
A="droid";
#endif
#if WINDOWS_UWP
A="UWP;
#endif
#endregion
}
}
我需要访问并为我的视图模型发送特定的代码,但是它对于另一个类(如字符串A)是无法看到的。
我在“访问代码中的本机视图”中看到了一个示例/方式。
仅在共享代码中有效吗?
致谢
答案 0 :(得分:2)
仅在共享代码中提供了编译器指令,并且不建议使用[ 0 1 1 0;
1 0 1 1;
0 1 0 1;
1 1 1 0; ]
。解决方案是在switch语句中使用Device.OnPlatform
。这将使您的代码看起来像:
Device.RuntimePlatform
看看Microsoft docs,了解有关使用public static string A;
switch (Device.RuntimePlatform)
{
case Device.iOS:
A = "ios";
break;
case Device.Android:
A = "droid";
break;
case Device.UWP:
A = "UWP";
break;
default:
A = "unknown";
break;
}
的信息