【问题标题】:Property Secured Set财产担保集
【发布时间】:2012-05-19 13:45:14
【问题描述】:

我只是在这里画一个空白。有一个我想要只读属性的类,但有一个可以更新属性的管理类型函数。

public class Group : Object, INotifyPropertyChanged
{   // this is read only admin is via UserGroupAdmin
    public event PropertyChangedEventHandler PropertyChanged;
    private void NotifyPropertyChanged(String info)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(info));
        }
    } 

    public Int16 ID { get; private set; }
    public string Name { get; private set; }
    public override bool Equals(Object obj)
        {
            //Check for null and compare run-time types.
            if (obj == null || !(obj is Group)) return false;
            Group item = (Group)obj;
            return (ID == item.ID);
        }

    public override int GetHashCode() { return (int)ID; }
    public Group(Int16 id, string name)
    { ID = id; Name = name;  }
 }

我想要的是一个管理员类型的函数

public group ReviseGroupName (Group group, string revisedName)
{
   // write revised name to SQL
   // revise group.name
   // return revised group
}

我知道的 SQL 部分。我考虑的只是创建一个具有相同 ID 和哈希码的新组并返回它。

【问题讨论】:

  • 您希望能够在ReviseGroupName 函数事件中设置Name 属性,尽管它是私有的? ReviseGroupName 属于哪个类,与 Group 有什么关系

标签: c# .net properties private-members


【解决方案1】:

如果AdminGroup 中的嵌套类,您可以在函数中设置私有属性:

public class Group
{
    public string Name { get; private set; }

    public class Admin
    {
        public Group ReviseGroupName (Group group, string revisedName)
        {
            group.Name = revisedName;
            return group;
        }
    }
}

【讨论】:

  • 不是我真正想要的,但经过反思,这不是一个经过深思熟虑的问题。
猜你喜欢
  • 1970-01-01
  • 2016-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-30
  • 2012-03-05
  • 1970-01-01
相关资源
最近更新 更多