Size: a a a

var chat = new Chat();

2021 February 11

D

Dmitry in var chat = new Chat();
атрибуты или на контроллеры или на методы контроллеров. гибко очень
источник

M

Maria Ponomarenko in var chat = new Chat();
Я хочу написати метод Set так щоб він приймав назву поля, яке я хочу змінити і нове значення, і таким чином через нього можно було змінювати будь-яке поле, але моя реалізація не працює, як пофіксити?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
using System.Threading.Tasks;

namespace Project
{
   public class Person
   {
       string name;
       int age;

       public Person(string name1, int age1)
       {
           name = name1;
           age = age1;
       }
       public void Set(string field_name, string new_value)
       {
           Type obj = typeof(Person);
           obj.GetProperty(field_name).SetValue(null, new_value);
       }
   }
}
источник

ВО

Влад Ого in var chat = new Chat();
SetValue(obj, newValue)
источник

A

Alejandro in var chat = new Chat();
Maria Ponomarenko
Я хочу написати метод Set так щоб він приймав назву поля, яке я хочу змінити і нове значення, і таким чином через нього можно було змінювати будь-яке поле, але моя реалізація не працює, як пофіксити?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
using System.Threading.Tasks;

namespace Project
{
   public class Person
   {
       string name;
       int age;

       public Person(string name1, int age1)
       {
           name = name1;
           age = age1;
       }
       public void Set(string field_name, string new_value)
       {
           Type obj = typeof(Person);
           obj.GetProperty(field_name).SetValue(null, new_value);
       }
   }
}
Тебе надо брать поле у this, а не у объекта типа Type
источник

ВО

Влад Ого in var chat = new Chat();
точней не обж, а сам обьект
источник

M

Maria Ponomarenko in var chat = new Chat();
Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.
источник

M

Maria Ponomarenko in var chat = new Chat();
знову помилку кидає
источник

ВО

Влад Ого in var chat = new Chat();
для начала реши задачу, в какой обьект ты задаешь новое значение?
источник

A

Alejandro in var chat = new Chat();
Maria Ponomarenko
Я хочу написати метод Set так щоб він приймав назву поля, яке я хочу змінити і нове значення, і таким чином через нього можно було змінювати будь-яке поле, але моя реалізація не працює, як пофіксити?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
using System.Threading.Tasks;

namespace Project
{
   public class Person
   {
       string name;
       int age;

       public Person(string name1, int age1)
       {
           name = name1;
           age = age1;
       }
       public void Set(string field_name, string new_value)
       {
           Type obj = typeof(Person);
           obj.GetProperty(field_name).SetValue(null, new_value);
       }
   }
}
источник

SC

Serega Carbon in var chat = new Chat();
Maria Ponomarenko
Я хочу написати метод Set так щоб він приймав назву поля, яке я хочу змінити і нове значення, і таким чином через нього можно було змінювати будь-яке поле, але моя реалізація не працює, як пофіксити?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
using System.Threading.Tasks;

namespace Project
{
   public class Person
   {
       string name;
       int age;

       public Person(string name1, int age1)
       {
           name = name1;
           age = age1;
       }
       public void Set(string field_name, string new_value)
       {
           Type obj = typeof(Person);
           obj.GetProperty(field_name).SetValue(null, new_value);
       }
   }
}
навіщо тобі це?)
источник

M

Maria Ponomarenko in var chat = new Chat();
потім треба буде для роботи з колекцією
источник

SC

Serega Carbon in var chat = new Chat();
ничего не понял, но очень интересно)
источник

ВО

Влад Ого in var chat = new Chat();
public void Set<T>(this T obj, string field_name, string new_value)
       {
           typeof(T).GetProperty(field_name).SetValue(obj, new_value);
       }
источник

SC

Serega Carbon in var chat = new Chat();
прочитайте лучше про дроубэки рефлексии
источник

M

Maria Ponomarenko in var chat = new Chat();
все, вийшло
источник

M

Maria Ponomarenko in var chat = new Chat();
дякую
источник

ВО

Влад Ого in var chat = new Chat();
самое главное разберись шо было не так
источник

ВО

Влад Ого in var chat = new Chat();
и почему заработало
источник

ВО

Влад Ого in var chat = new Chat();
иначе толку будет 0, и препод может спросить)
источник

SC

Serega Carbon in var chat = new Chat();
я не понял, зачем это, что это и почему это в классе Person )
источник