Работа с классом, подразделы - 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;
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д