我的 C# 应用程序有 2 个类对象:
public class Alpha
{
public string IAmCalledAndy {get;set;}
public int IAmAnExtraField {get;set;}
}
public class Beta
{
public string IAmCalledJohn {get;set;}
}
我还有2个方法:
public string testMethod1(Alpha myAlphaInstance)
{
StringBuilder sb = new StringBuilder();
sb.Append(JsonConvert.SerializeObject(myAlphaInstance));
return sb.ToString();
}
public string testMethod2(Beta myBetaInstance)
{
StringBuilder sb = new StringBuilder();
sb.Append(JsonConvert.SerializeObject(myBetaInstance));
return sb.ToString();
}
我想(对于整理和重构只有一种方法的情况:
public string testMethodGEneric(iObjectType myObjectInstance)
{
StringBuilder sb = new StringBuilder();
sb.Append(JsonConvert.SerializeObject(myBetaInstance));
return sb.ToString();
}
所以,我明白 Alpha 和 Beta 对象需要从一个名为 iObjectType 的接口(interface)继承,但是 iObjectType 中有什么?
例如,实际上,Alpha 类将包含 Customer 字段,而 Beta 类将包含 Address 字段。
我是不是希望太多了?是否可以在不使它过于复杂的情况下完成,我不妨坚持原来的 2 种方法?
最佳答案
你不需要其他任何东西,你有你的通用功能:
public string testMethodGEneric(object instance)
{
StringBuilder sb = new StringBuilder();
sb.Append(JsonConvert.SerializeObject(instance));
return sb.ToString();
}
JsonConvert.SerializeObject 已经在接受对象类型。
关于c# - 使用 if 接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33891043/