Как мне разобрать этот класс имени для функции кнопки winform c# - PullRequest
0 голосов
/ 06 мая 2020
class FullNameClass
{
    public string xFullName { get; set; }
    public string lcFirstName { get; set; }
    public string lcMiddleName { get; set; }
    public string lcLastname { get; set; }
    public string lcSuffix { get; set; }

    public string getfirstanme(string xFullName)
    {

        string[] words = xFullName.ToUpper().Split(' ');
        int numberOfWords = words.Length;

        if (numberOfWords == 3)
        {
            if (numberOfWords == 3)
            {
                string[] fullname = xFullName.Split(new Char[] { ' ' });
                if (fullname[1].Length > 2)
                {
                    string firstname = fullname[0] + " " + fullname[1];
                    lcFirstName = firstname;
                    lcMiddleName = null;
                    lcLastname = null;
                    lcSuffix = null;
                    return lcFirstName;

                }

попробуйте использовать этот код, но он показывает пустой в форме под функциями кнопок

FullNameClass fullname = new FullNameClass();
fullname.xFullName = "Robert A Smith";
Messagebox.show(fullname.lcFirstName);

Надеюсь, что кто-то поможет мне в этом, кстати, im newb ie в кодировании, а также учусь только чтение, пожалуйста, подождите мой код

1 Ответ

0 голосов
/ 06 мая 2020

В вашем случае вам нужно вызвать метод:

MessageBox.Show(fullname.getfirstanme(fullname.xFullName));

Но здесь есть что улучшить.


Помимо очевидных опечаток, класс FullName должны быть переработаны.

Для начала, все эти свойства:

public string xFullName { get; set; }
public string lcFirstName { get; set; }
public string lcMiddleName { get; set; }
public string lcLastname { get; set; }
public string lcSuffix { get; set; }

- это одновременно set и get.

В них нет ничего особенного: if вы не устанавливаете их, вы не получите результата.

Обычный способ подойти к этой проблеме - подумать о том, как вы хотите, чтобы ваш объект вел себя.

Позвольте мне привести вам пример. Допустим, вы заранее знаете, что всегда будете использовать полное имя в качестве входных данных. Затем вы можете применить это к конструктору:

class FullNameClass
{
    public string lcFirstName { get; } //read only
    public FullNameClass(string fullName) // required to initialize the class
    {
        // set the firstname property with your logic
        lcFirstName  = getfirstanme(fullName);

        //you can apply this pattern for the other properties as well
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...