我開發在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控件上的某些自我引用循環。鑄造操作不排除窗體,我不知道爲什麼,因爲我只是想接口轉換隻返回接口成員。
我在做什麼錯?
我不太清楚,但我想只是投實例的界面不會隱藏實例屬性序列化時...你還在序列化實例 – derape
你爲什麼要繼承一個形式,如果你只需要在界面屬性? – AMember
@AMember我實際上並沒有繼承一個表單 - 它是一個繼承了一個接口的表單。我想創建一個標準化表單,我可以使用'IProjectInfo'接口作爲方法參數,而不是指定具體的表單實例。 – Intrepid