Работа с классом, подразделы - C#
Формулировка задачи:
Создаю класс для работы с памятью:
Инициализирую так: но, после этого я бы хотел иметь доступ к переменным(только к чтению), чтоб это выглядело вот так: Вопрос, как мне сделать такой подкласс? (или не подкласс, сам не знаю, что нужно использовать)
class Engine { public static string Name { get { return Name; } private set { Name = value; } } public static int Id { get { return Id; } private set { Id = value; } } public static IntPtr Handle { get { return Handle; } private set { Handle = value; } } public void Dispose(bool dispose) //помогите правильно создать метод { if(dispose == true) { CloseHandle(Engine.Handle); // } else { } } public Engine(string name) { Name = name; if (name != null) Id = GetProcessIdByName(name); else { throw new System.ArgumentNullException("name cannot be null", Name); } //не уверен if(Id != 0) { throw new System.ArgumentOutOfRangeException("process isnt exist", Name); } } }
Engine a = new Engine("CrackMe");
IntPtr = a.Settings.Handle; // Чтоб так с каждой переменной (Id, Handle, Name)
up up, неужели никто не знает?
Решение задачи: «Работа с классом, подразделы»
textual
Листинг программы
class Engine { private const int DefaultId = 1; private const string DefaultName = "Foo"; private const int DefaultHandle = 1; public Settings Settings { get; private set; } public Engine() { Settings = new Settings(DefaultId,DefaultName,DefaultHandle); } public void ChangeSettingsId(int newId) { Settings = new Settings(newId, Settings.Name, Settings.Handle); } public void ChangeSettingsName(string newName) { if (string.IsNullOrEmpty(newName)) throw new ArgumentException(nameof(newName)); Settings = new Settings(Settings.Id, newName, Settings.Handle); } public void ChangeSettingsHandle(int newHandle) { Settings = new Settings(Settings.Id, Settings.Name, Settings.Handle); } } class Settings { public int Id { get; } public string Name { get; } public int Handle { get; } public Settings(int id, string name, int handle) { Id = id; Name = name; Handle = handle; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д