在我的网络应用程序中,我正在使用Newtonsoft.Json,我有以下对象
[Newtonsoft.Json.JsonObject(Title = "MyCar")]
public class Car
{
[Newtonsoft.Json.JsonProperty(PropertyName = "name")]
public string Name{get;set;}
[Newtonsoft.Json.JsonProperty(PropertyName = "owner")]
public string Owner{get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我想用根名称(类名)序列化它们.这是期望的格式使用
{'MyCar':
{
'name': 'Ford',
'owner': 'John Smith'
}
}
Run Code Online (Sandbox Code Playgroud)
我知道我可以用匿名对象做到这一点,但是在Newtonsoft.Json库中有任何属性或其他方式吗?
我正在重构我的代码,所以我需要做出关于接口或抽象类的决定.我有基类Player和继承基类的类,它们被称为VideoPlayer,MusicPlayer等.基类有抽象方法,没有实现(Play).那么,什么是更好的方式?将Play置于界面中或将其保留为抽象类.在MusicPlayer中播放与VideoPlayer中的播放器不同.我在C#中这样做.
class Player
{
abstract void Play();
}
class VideoPlayer : Player
{
void Play()
{
//Some code.
}
}
class MusicPlayer : Player
{
void Play()
{
//Some code.
}
}
Run Code Online (Sandbox Code Playgroud)