当前位置: 首页 > 编程语言 > C#

从子应用程序到基础项目的共享属性

时间:2023-04-10 13:15:38 C#

从子应用程序到基础项目的共享属性我正在开发WindowsPhone应用程序:我有一个需求。我有3个项目,1)BaseLibrary项目-库项目,即电话类库项目2)ChildApp1-Winodws电话应用程序3)ChildApp2-WindowsPhone应用程序现在在我的BaseLibrary中,我拥有所有.xaml和..cs文件。在我的子应用程序中,我有一个.cs文件这里的想法是我的子项目UI完全相同,所以我在库项目中添加了所有常用的东西并将其引用到我的子应用程序。现在,我的子应用程序几乎没有变化。在BaseLibrary中:MainPage.xaml文件;namespaceBaseLibrary{publicpartialclassMainPage:PhoneApplicationPage{publicMainPage(){InitializeComponent();AppSettingsappSettings=newAppSettings();stringappName=appSettings.getAppName();intappVersion=appSettings.获取应用程序版本();App_Name.Text=appName;App_Version.Text=""+appVersion;在AppSettingsDefaultImpl中:namespaceBaseLibrary{publicclassAppSettingsDefaultImpl{publicvirtualStringgetAppName(){return"XYZ";}publicvirtualintgetAppVersion(){返回1;}}}在AppSettings命名空间BaseLibrary{classAppSettings:AppSettingsDefaultImpl{publicvirtualstringgetAppName(){returngetAppName();}publicvirtualintgetAppVersion(){returngetAppVersion();}}}在我的子项目中:namespaceChildApp1{usingBaseLibrary;AppSettings类:AppSettingsDefaultImpl{publicoverridestringgetAppName(){return"ABC";现在,当我运行我的子项目时,我将它导航到BaseLibrary项目MainPage.xaml但在.xaml文件中我有这个:AppSettingsappSettings=newAppSettings();stringappName=appSettings.getAppName();intappVersion=appSettings.getAppVersion();App_Name.Text=appName;App_Version.Text=""+appVersion;其中AppSettings是BaseLibrary的一个实例,所以它会从BaseLibrary的AppSettings中的方法中获取值,但我希望它从子项目中获取实例并向我显示那里的值,怎么办?我得到的输出:1,XYZ想要的输出是:1,ABC如果属性没有在子应用程序中定义,它应该从BaseLibrary中获取值。有没有办法实现这个命名空间}}}namespaceChildApp1{[Export("child",typeof(AppSettingsDefaultImpl))]classAppSettings:AppSettingsDefaultImpl{publicoverridestringgetAppName(){return"ABC";}}}那么:以上就是C#学习教程:从子应用分享属性到基础项目分享,如果对你有用,需要进一步了解C#学习教程,希望大家多多关注—CompositionContainercontainer;//覆盖MefBootstrapperAppSettingsDefaultImplappSettings=container.GetExport("child");本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: