Отражение PropertyInfo SetValue C#

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

В этом примере я хочу получить свойство типа Task и перезаписать значение этого свойства другим объектом Task. Это мой код до сих пор. В настоящее время он получает Task PropertyInfo, но я не знаю, что указать в первом параметре вызова SetValue.

var viewBindingProperty = viewBinding.GetType().GetProperty(typeof(Task).Name);

viewBindingProperty.SetValue(??, pageBinding.Task);

Мне нужно перезаписать значение свойства задачи в viewBindingProperty на pageBinding.Task


person Bad Dub    schedule 16.05.2018    source источник
comment
Это объект, для которого вы хотите установить значение. Так что в вашем случае, скорее всего, это viewBinding. msdn.microsoft.com/en-us/library /hh194291(v=vs.110).aspx   -  person TJ Wolschon    schedule 16.05.2018
comment
Экземпляр (viewBinding) или null, если свойство является статическим.   -  person Dmitry Bychenko    schedule 16.05.2018
comment
Да, это было так, кто-нибудь хочет поставить это как ответ, чтобы я мог отметить это?   -  person Bad Dub    schedule 16.05.2018
comment
Я могу показаться сварливым, но если вы попытаетесь найти любой пример того, как установить значение PropertyInfo, то вы сразу увидите, что там ??.   -  person Sinatr    schedule 16.05.2018
comment
Возможный дубликат SetValue в отражении в c#   -  person Sinatr    schedule 16.05.2018
comment
Я на самом деле сделал поиск и не мог понять, поэтому я разместил его здесь. Я не автоматически разместил этот вопрос. Это было мое последнее средство.   -  person Bad Dub    schedule 16.05.2018


Ответы (1)


Предполагая, что viewBinding - это объект, значение которого вы хотите изменить

viewBindingProperty.SetValue(viewBinding, pageBinding.Task);

Первый параметр принимает объект, которому вы хотите присвоить новое значение.

https://msdn.microsoft.com/en-us/library/hh194291(v=vs.110).aspx

person TJ Wolschon    schedule 16.05.2018
comment
@BadDub Нет проблем, просто отметьте это как правильное, чтобы другие тоже могли его найти! - person TJ Wolschon; 16.05.2018