ManojRGEC Ответов: 1

Как обновить значение свойства абстрактного класса (используемого как в параметре запроса, так и в параметрах ответа) во время выполнения производным классом в C#


Как обновить значение свойства абстрактного класса во время выполнения производным классом в c#

У меня есть следующий абстрактный класс

public abstract class BaseResponse
{
 public string TestId{ get; set; }
}


У меня есть два конкретных класса(TestRequest и TestResponse), производные от вышеуказанного абстрактного класса

public class TestResponse: BaseResponse
    {
        
    }


public class TestRequest: BaseResponse
    {
        //some properties

    }

Я передал некоторое значение для TestId в параметрах запроса. Поскольку TestId используется как для TestRequest, так и для TestResponse. когда я попытался обновить Тестид получил исключение "
object reference not set to an instance of an object 
". Ниже приведен код

частной задачей асинхронных&ЛТ;интерфейс IEnumerable&ЛТ;testresponse&ГТ;&ГТ; GetTestResponse(){
TestResponse testObject = new TestResponse();
testObject.TestId = "some data here";

}

Я хочу обновить TestId с помощью класса TestResponse, как этого добиться?

Заранее спасибо!

Что я уже пробовал:

<pre>TestResponse testObject = new TestResponse();
testObject.TestId = "some data here";

1 Ответов

Рейтинг:
8

Richard MacCutchan

Точно так же вы обновляете любое свойство в объекте.

TestResponse testObject = new TestResponse();
testObject.TestId = "some data here";


ManojRGEC

Спасибо за ваш ответ. Я попробовал то же самое, но получил ошибку " ССЫЛКА на объект не установлена на экземпляр объекта"

Richard MacCutchan

Итак, вы ожидаете, что мы догадаемся, что делает ваш код? Пожалуйста, отредактируйте свой вопрос, покажите код, в котором возникает ошибка, и объясните, что именно происходит.

ManojRGEC

Спасибо за ваше предложение :)

Richard MacCutchan

Там недостаточно контекста, вы, должно быть, делаете что-то не так. Я проверил свое предложение, и оно успешно работает.

ManojRGEC

но, к сожалению, это не работает для меня. Я пытаюсь обновить значение свойства в методе "async await". так что, может быть, это и есть главная причина того, что я не могу его обновить. Спасибо за вашу помощь!!

Richard MacCutchan

Ну, если вы не покажете код, где происходит ошибка, мы не сможем помочь.

ManojRGEC

Я унаследовал тот же абстрактный класс и в модели запроса.

е.г

публичный класс RequestModel: BaseResponse
{
//некоторые свойства здесь
}