我有以下课程:
public class NoteLink
{
public IList<NoteLinkDetail> NoteLinkDetails
{
get { return _noteLinkDetails; }
}
private List<NoteLinkDetail> _noteLinkDetails = new List<NoteLinkDetail>();
public NoteLink()
{
_noteLinkDetails = new List<NoteLinkDetail>();
}
}
然后是另一个在第一个类中使用的类。
public class NoteLinkDetail
{
public string L { get; set; }
public string R { get; set; }
}
我能做些什么来优化它。我需要第二个类,因为我使用JSON将NoteLinkDetail的内容存储在一个字符串中。但是在C#中有这样的内部类吗?关于如何优化此代码的任何建议?感谢。
答案 0 :(得分:8)
是的,你可以。只是嵌套它。
public class NoteLink
{
// ...
public NoteLink()
{
_noteLinkDetails = new List<NoteLinkDetail>();
}
public class NoteLinkDetail
{
public string L { get; set; }
public string R { get; set; }
}
}
此外,如果它没有暴露在外部类之外,那么你的内部类甚至可以private
和对外层用户保持不可见。
答案 1 :(得分:3)
是的,C#允许嵌套类。
C#嵌套类更像是C ++中的嵌套类,而不是Java中的“内部类”。此链接说明:
http://blogs.msdn.com/b/oldnewthing/archive/2006/08/01/685248.aspx
答案 2 :(得分:1)
不确定;只是从外部类
中声明内部类class NoteLink
{
class NoteLinkDetail
{
}
}
答案 3 :(得分:0)
是的,您可以在C#中使用嵌套类