CallerArgumentExpression с неявным приведением типовC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 CallerArgumentExpression с неявным приведением типов

Сообщение Anonymous »

У меня следующая структура:

Код: Выделить всё

public sealed class KeyValue(object value, [CallerArgumentExpression(nameof(value))] string keyName = null)
{
public string Key { get; set; } = keyName;
public object Value { get; set; } = value;

public static implicit operator KeyValue(string value) => new KeyValue(value);
}
Я хочу иметь возможность неявно приводить строку и использовать ее имя в качестве ключевого примера:

Код: Выделить всё

string ThisIsMyName = "Test";
KeyValue pair = ThisIsMyName;

Console.WriteLine(pair.Key) //should print ThisIsMyName
Console.WriteLine(pair.Value) // should print Test
В настоящее время действует следующее (но я хотел бы удалить скобки и новое ключевое слово):

Код: Выделить всё

string ThisIsMyName = "Test";
KeyValue pair = new(ThisIsMyName);

Console.WriteLine(pair.Key) //prints ThisIsMyName
Console.WriteLine(pair.Value) //prints Test
И в идеальном сценарии у меня было бы что-то вроде следующего:

Код: Выделить всё

Task HandleFailureAsync(params KeyValue[] parameters)
----------
string test1 = "t1";
string test2 = "t2";
KeyValue testKey1 = test1;
KeyValue testKey2 = test2;
HandleFailureAsync(testKey1, testKey2);
//instead of
HandleFailureAsync(new(test1), new(test2));
Есть ли у кого-нибудь хорошие идеи/решения?

Подробнее здесь: https://stackoverflow.com/questions/783 ... it-casting
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как получить CallerargumentExpression от параметра компонента Blazor
    Anonymous » » в форуме C#
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Как получить CallerargumentExpression от параметра компонента Blazor
    Anonymous » » в форуме C#
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Вывод чисел numpy с приведением к ним типов, что является ошибкой в ​​​​моей программе.
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Странное взаимодействие между изменением формы и приведением типов в Numba
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Странное взаимодействие между изменением формы и приведением типов в Numba
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»