C# c语言中的类装入器#
我有两个不同的项目: 1) 名为BaseLibrary的库项目:C# c语言中的类装入器#,c#,visual-studio-2012,windows-8,windows-phone-8,C#,Visual Studio 2012,Windows 8,Windows Phone 8,我有两个不同的项目: 1) 名为BaseLibrary的库项目: public class DefaultProps { public virtual String getAppName() { return "XYZ"; } public virtual int getAppVersion() { return 1; } } cl
public class DefaultProps
{
public virtual String getAppName()
{
return "XYZ";
}
public virtual int getAppVersion()
{
return 1;
}
}
class BaseSettings : DefaultProps
{
public virtual string getAppName()
{
return base.getAppName();
}
public virtual int getAppVersion()
{
return base.getAppVersion();
}
}
2) 具有库项目引用的子项目:
using BaseLibrary;
class AppSettings : DefaultProps
{
public override string getAppName()
{
return "ABC";
}
}
我正在进行Windows Phone应用程序开发
,当我运行子项目时,我希望getAppName显示为“ABC”
,而不是在BaseLibrary“XYZ”中显示默认值。
而且,如果该属性未显示在子应用程序中,则应采用BaseLibrary中的默认属性值
在java中,我们使用类加载器
来实现这一点,如何在C#中实现这一点,Visual Studio 2012
编辑
在MainPage.xaml.cs文件的BaseLibrary中
BaseSettings baseSettings = new BaseSettings ();
string appName = baseSettings .getAppName();
int appVersion = baseSettings .getAppVersion();
App_Name.Text = appName;
App_Version.Text = "" + appVersion;
你在哪里创建设置类的实例?如果你真的在Java中使用类加载器来解决这个问题,那么在我看来,你真的滥用了类加载器。即使在Java中,我也看不出类加载器有什么关系。听起来您是在核心库项目中创建
Settings
类的实例,而不是在子项目中创建Settings
类的实例。考虑到这两种类型是不同的类型,如果给它们取不同的名称,几乎肯定会使代码更容易理解。另外,仅仅为了显式调用基方法而重写方法是没有意义的,而且您的方法不遵循.NET命名约定edit@KirkWoll那么如何在c#中实现这一点呢?