Возврат значения из структуры без указания свойства - PullRequest
0 голосов
/ 19 февраля 2020

У меня есть вопрос, и я долго искал, и я не знаю, возможно ли это. Я думаю, что я видел, как это было сделано ранее.

Итак, у меня есть структура.

public struct Field
{
    public String Name;
    public Int32 Size;

    public Field(String name, Int32 size)
    {
        Name = name;
        Size = size;
    }
}

То, что я хочу сделать, это когда я использую его ниже, он возвращает значение имени.

Field field = new Field("Ben", "1,70");

// name would receive the value Ben from the field.name variable
String name = field;

Если бы вы, мудрые люди, знали, как заставить это работать, или, возможно, лучше, это было бы очень ценно!

Спасибо!

1 Ответ

3 голосов
/ 19 февраля 2020

Вы можете использовать Неявный оператор

Примечание : хотя его использование в этом случае немного подозрительно

public struct Field
{
   public String Name;
   public Int32 Size;

   public Field(String name, Int32 size)
   {
      Name = name;
      Size = size;
   }
   public static implicit operator string(Field d) => d.Name;
}

Использование

Field field = new Field("Ben", 1);
Console.WriteLine(field);

Выход

Ben
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...