我正在用 C# 开发一个应用程序,该应用程序在表单上声明了一个接口:
public partial class frmProjectForm : Form, IProjectInfo
{
}
public interface IProjectInfo
{
string ProjectName { get; set; }
string ProjectTitle { get; set; }
string ProjectDescription { get; set; }
string ProjectAuthor { get; set; }
string ProjectCopyright { get; set; }
string ProjectTrademark { get; set; }
string ProjectCreationDate { get; set; }
string ProjectVersion { get; set; }
string ProjectFileName { get; }
string ProjectFilePath { get; }
string FullProjectPath { get; }
}
在应用程序的某个地方我想这样做:
frmProjectForm f = new frmProjectForm();
f.ShowDialog(this);
...
...
IProjectInfo getProjectInfoMembersOnly = (IProjectInfo)f;
// persist the IProjectInfo members to JSON
string project = JsonConvert.SerializeObject( getProjectInfoMembersOnly );
该JsonConvert.SerializeObject
方法正在爆炸并抱怨 Button 控件上的一些自引用循环。转换操作不排除表单,我不知道为什么,因为我只想让接口转换只返回接口成员。
我究竟做错了什么?