строка, созданная из переменной в c # - PullRequest
0 голосов
/ 27 сентября 2018

Можно ли определить строку из переменной, в которой строка НЕ ​​имеет кавычек.Пример:

public class aclass
{
    public string athing;
}

public void example(string thing)
{
    aclass thing = new aclass();
}

Строковая вещь не может быть помещена в aclass thing = new aclass(); обычно.Есть ли в любом случае это сделать?

Ответы [ 3 ]

0 голосов
/ 27 сентября 2018

Вы можете сделать это разными способами, но обычно стандартным способом является использование конструктора. Пожалуйста, обратитесь к этой ссылке для лучшего понимания.

C #: присвойте данные свойствам через конструктор вместо создания

0 голосов
/ 27 сентября 2018

У вас есть способы задания значений полей / свойств объекта.

Первое - это сделать через конструктор, как уже упоминалось в другом ответе.

Второе может быть реализовано в различныхспособы:

  1. Разобрать поле для создания публичной собственности:

    public class aclass
    {
        private string _athing;
        public string Athing 
        {
                get { return _athing; }
                set { _athing = value; }
        }
    }
    
    public void example(string thing)
    {
        aclass aclass = new aclass();
        aclass.Athing = thing;
    }
    

Или еще короче, вы можете использовать свойство:

public class aclass
{
    public string Athing {get; set; }
}

Используя вашу реализацию, вы делаете свое поле общедоступным, поэтому вы можете легко его настроить:

public void example(string thing)
{
    aclass aclass = new aclass();
    aclass.athing = thing;
}

Но это не соответствует принципу инкапсуляции ООП.

0 голосов
/ 27 сентября 2018

Вам нужен конструктор

void Main()
{
    CreateExampleObject("testing");
}

public class Example
{
    // This is a constructor that requires a string as an argument
    public Example(string text)
    {
        this.Text = text;
    }

    public string Text { get; set; }
}

public void CreateExampleObject(string text)
{
    Example example = new Example(text);

    Console.WriteLine(example.Text);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...