我有这样的界面,
public interface IResourcePolicy
{
string AgentVersion
{
get;
set;
}
ResourcePolicy ResourcePolicy
{
get;
set;
}
}
// implementation of AgentVersion only as of now i am showing
public string AgentVersion
{
get
{
return m_agentVersion;
}
set
{
m_agentVersion = value;
}
}
private string m_agentVersion = null;
在下面的代码中我需要检查一个更多的代码,如果m_agentVersion!= null &安培; ResourcePolicy = null我需要显示m_nullPolicy而不是m_nullString,这是exisitng代码
public class ResourcePolicyConverter : StringConverter
{
private static string m_nullString = Managers.ControlStrings.GetString("ManagedDeviceWizard.None");
private static string m_nullPolicy = Managers.ControlStrings.GetString("ManagedDeviceWizard.UnknownPolicy");
if( value is ResourcePolicy )
{
return ((ResourcePolicy)value).Identifier;
}
else if( value == null )
{
return m_nullString;
}}
我将如何实现这一目标
答案 0 :(得分:2)
接口仅用作“必须像那样”,并且所有内容都必须保持不变。所以这是不可能的。
请参阅this作为接口内容的完整说明。
正如@Cipi所说,对你的主要问题发表评论,你可能不得不使用抽象类(see here)
abstract class AgentVersionBase {
public string AgentVersion {
get {
return m_agentVersion;
}
}
private string m_agentVersion = string.Empty;
}
public class AgentVersion : AgentVersionBase {
public string aMethod() {
return base.AgentVersion;
}
}
注意:对不起我的英语,我通常会说法语
答案 1 :(得分:0)
我认为您希望使用抽象类和接口来执行此操作。抽象类将实现接口并检查其值,而其他类只会继承抽象类...因此实现接口。