相关疑难解决方法(0)

如何将对嵌套类成员的访问限制为封闭类?

是否可以指定封闭类可以访问嵌套类的成员,而不是其他类?

这是问题的一个例子(当然我的实际代码有点复杂......):

public class Journal
{
    public class JournalEntry
    {
        public JournalEntry(object value)
        {
            this.Timestamp = DateTime.Now;
            this.Value = value;
        }

        public DateTime Timestamp { get; private set; }
        public object Value { get; private set; }
    }

    // ...
}
Run Code Online (Sandbox Code Playgroud)

我想阻止客户端代码创建实例JournalEntry,但Journal必须能够创建它们.如果我将构造函数Journal设为public,那么任何人都可以创建实例......但如果我将其设为私有,则无法执行!

请注意,JournalEntry该类必须是公共的,因为我希望能够将现有条目公开给客户端代码.

任何建议将不胜感激!


更新:感谢大家的意见,我最终选择IJournalEntry了私人JournalEntry课程实现的公共界面(尽管我的问题是最后一个要求......)

c# nested-class access-levels

58
推荐指数
4
解决办法
2万
查看次数

如何在.NET 2.0中创建自定义集合

嗨,我想创建自定义集合,我从CollectionBase类派生我的自定义集合类,如下所示:

public class MyCollection : System.Collectio.CollectionBase
{
    MyCollection(){}
    public void Add(MyClass item)
    {
        this.List.Add(item);
    }
}

class MyClass
{
    public string name;
}
Run Code Online (Sandbox Code Playgroud)

我来问几个问题:

  1. 当我在.NET 3.5框架上工作时,这种方法是否正确和新.
  2. 我想从我的Web服务(WCF)中公开这个集合.我该怎么做?
  3. 我必须实现GetEnumerator吗?
  4. 这是否会绑定到DataGridView.

c# generics wcf datagridview

4
推荐指数
1
解决办法
6391
查看次数

标签 统计

c# ×2

access-levels ×1

datagridview ×1

generics ×1

nested-class ×1

wcf ×1