В приведенном коде. Я хочу получить доступ к частному значению в другом основном классе. Я прочитал значение из консоли и через этот класс хочу отобразить его в консоли.
using System;
class Customer
{
private string _customerAddress;
public string CustomerAddress
{
get { return this._customerAddress; }
set { this._customerAddress = value; }
}
public void DisplayDetails()
{
Console.WriteLine("Hello World", CustomerAddress);
}
}
Не могли бы вы уточнить, что вы подразумеваете под «частной ценностью» и «другим основным классом»? С какой строкой кода у вас проблемы?
Вы хотите добавить что-то в класс Customer
, чтобы получить значение приватного поля в каком-то другом классе, а затем записать его в консоль? Пожалуйста, отредактируйте вопрос, чтобы включить определение этого другого класса, а также сообщить нам, что вы пробовали (например, добавили ли вы общедоступное свойство в другой класс, чтобы раскрыть значение частного поля, пытаетесь ли вы получить к нему доступ вместо этого через Reflection
) и каким образом то, что вы пробовали, не работает (любые ошибки компиляции, сообщение об исключении, трассировка стека и т. д.).
Я не уверен, что вы имеете в виду, но если вы хотите присвоить _customerAddress значение в своей основной форме, а затем отобразить значение с помощью метода DisplayDetails(), тогда может помочь следующее.
Основная форма ==> создайте объект Customer, а затем присвойте _customerAddress значение, просто выполнив следующее:
Customer customer = new Customer();
customer.CustomerAddress = "test";
customer.DisplayDetails();
Вам также следует подумать о том, чтобы указать «_customerAddress» в качестве параметра в конструкторе.
Если вы хотите получить доступ к частному полю из другого класса и отобразить его в этом классе, вам следует сделать следующее:
Шаг 1: создайте свойство в другом классе, как вы сделали в классе Customer.
Шаг 2: Создайте еще одну функцию Display и передайте ее параметру объект другого класса.
public class OtherClass
{
private string message;
public string Message
{
get{return this.message;}
set{this.message = value;}
}
}
вызовите свойство в своем классе клиентов:
class Customer
{
private string _customerAddress;
public string CustomerAddress
{
get { return this._customerAddress; }
set { this._customerAddress = value; }
}
public void DisplayDetails()
{
Console.WriteLine("Hello World", CustomerAddress);
}
public void DisplayMessage(OtherClass otherClass)
{
Console.WriteLine("Hello World",otherClass.Message);
}
}
Вы также можете сделать так, чтобы метод отображал сообщение в классе OtherClass, и вызывать этот метод в своем классе Customer.
Я не могу понять ваш вопрос. Можете ли вы внести изменения и предоставить более подробную информацию о том, что происходит не так?