Возьмите следующий класс и метод:
public class Foo
public Foo Create(string bar) {
return new Foo(bar);
}
Таким образом, получение «Создать» очевидно: nameof(Foo.Create)
Есть ли способ получить «бар», кроме использования отражения для чтения параметров во время выполнения?
$"{nameof(Person.Name)}:chris, foo:bar"
(я в поле для комментариев, это не буквальное копирование и вставка, а общая идея). Сложнее выразить эту связь между парой json-свойство-имя и значение и связью с парой имени и типа аргумента метода. Я устал от бесконечных картографических слоев, когда все, что я хотел, это прямой ввод. - person Chris Marisic   schedule 23.05.2016WithConstructorArgument
, принимающая отраженное строковое литеральное имя параметра - любое изменение в сигнатура метода, и бум! загрузка ломается. Вместо этого было бы идеально использоватьnameof(Class.Method.Parameter)
. - person StuartLC   schedule 02.11.2017