Добрый день. Нужна помощь с пониманием как создать класс который будет выступать хранилищем комментариев от пользователей. Это не боевое приложение и никогда им не будет. Скорее для общего понимания как устроено.
Есть вот такой класс User:public class User
{
public int UserID;
public string NickName;
public string HomeTown;
public string BirthDate;
public string DateOfRegistration;
public UserRole Role;
public User(int userid,string nickname,string hometown,string birthdate, string date_of_registration, UserRole role)
{
this.UserID = userid;
this.NickName = nickname;
this.HomeTown = hometown;
this.BirthDate = birthdate;
this.DateOfRegistration = date_of_registration;
this.Role = role;
}
public override string ToString()
{
return $"UserID --> {UserID}\nNickName --> {NickName}\nNomeTown --> {HomeTown}\nBirthDate --> {BirthDate}\nDateOfRegistration --> {DateOfRegistration}\nUserRole --> {Role}";
}
}
Такой вот enum для UserRole:public enum UserRole : byte
{
Administrator,
Moderator,
DefaultUser,
}
И есть класс для самих комментариев:public class UserContent
{
public int ContentID;
public string Content;
public User Author;
public string ContentTime;
public UserContent(int content_id, string content, User author, string content_time)
{
this.ContentID = content_id;
this.Content = content;
this.Author = author;
this.ContentTime = content_time;
}
public override string ToString()
{
return $"ID Статьи --> {ContentID}\nСтатья --> {Content}\nАвтор статьи --> {Author.NickName}\nДата создания --> {ContentTime}";
}
}
Сложность в том, как передать в класс комментариев поле с ником юзера? Второй конструктор для юзера не подойдет. Так как при инициализации класса надо руками прописывать ник. А надо, что бы ник брался уже из поля класса Юзер.
Вот так оно у меня выглядит в Program.cs:
static void Main(string[] args)
{
List<User> users = new List<User>();
users.Add(new User(1,"Morpheus","Zion","Dec 15,1985","Jan 12, 2010",UserRole.Administrator));
users.Add(new User(2,"Trinity","Zion","May 10,1980","Sep 6, 2012", UserRole.Administrator));
users.Add(new User(3,"Apok","Zion","Mar 22,1970" , "Feb 11, 2011", UserRole.Moderator));
users.Add(new User(4,"Neo", "Los-Angeles","Jul 2,1982", "Dec 7,2012", UserRole.DefaultUser));
List<UserContent> content = new List<UserContent>();
content.Add(new UserContent(1, "Hello Zion!", new User("Morpheus"), "May 24,2018"));
Console.ReadKey();
}
Вопрос в этой строчке:
content.Add(new UserContent(1, "Hello Zion!", new User("Morpheus"), "May 24,2018"));
Вместо new User просто хотелось бы передать user.NickName.
Возможно ли такое?