Member 11947640 Ответов: 1

Как считывать значение из объектного типа данных в C#


Привет,

я использую оплату instamojo gateway.in параметры ответа, имеющие тип объекта.

мне нужно прочитать это значение.

мой код находится ниже:

static void GetPaymentOrderDetailsUsingTransactionId(Instamojo objClass)
       {
           try
           {
               PaymentOrderDetailsResponse objPaymentRequestDetailsResponse = objClass.getPaymentOrderDetailsByTransactionId("testj2oz244t4lp");
               ArrayList final_result = new ArrayList();             
                MessageBox.Show("Transaction Id = " + objPaymentRequestDetailsResponse.transaction_id);
           }
           catch (ArgumentNullException ex)
           {
               MessageBox.Show(ex.Message);
           }
           catch (WebException ex)
           {
               MessageBox.Show(ex.Message);
           }
           catch (Exception ex)
           {
               MessageBox.Show("Error:" + ex.Message);
           }
       }



public class PaymentOrderDetailsResponse
	{
		public PaymentOrderDetailsResponse()
		{
			status = "pending";
			currency = "INR";
		}

		public string id { get; set; }
		public string transaction_id { get; set; }
		public string status { get; set; }
		public string currency { get; set; }
		public decimal? amount { get; set; }
		public string name { get; set; }
		public string email { get; set; }
		public string phone { get; set; }
		public string description { get; set; }
		public string redirect_url { get; set; }

		public object payments { get; set; }

		public string created_at { get; set; }
		public string resource_uri { get; set; }
	}


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

я пытаюсь прочитать значение
public object payments { get; set; }

это не позволяет мне прочитать эту ценность.

есть идеи ?

1 Ответов

Рейтинг:
1

Dave Kreskowiak

Вы не. Тип объекта не раскрывает ни одно из этих свойств, поэтому там нечего читать. Взгляните на то, какой объект выставляет, здесь[^].

Почему вы используете object в качестве возвращаемого типа этого свойства? Вместо этого используйте тип объекта, которым он является на самом деле, и тогда вы получите доступ к свойствам и методам, предоставляемым этим типом.

Или, если это свойство "платежи" является кодом поставщика, который вы не можете изменить, вы должны привести возвращаемый объект к соответствующему типу, который предоставляет свойства и методы, которые вы ищете.


Member 11947640

да ваш правильный,

как отбросить это значение? я перепробовал все возможные способы

Member 11947640

я полагаю, чтобы поделиться имиджем. я новичок в проекте кода, я не мог найти функцию для обмена изображением.

Dave Kreskowiak

Вы не можете опубликовать изображение по довольно очевидным причинам.

Итак, откуда взялся этот код?

    public object payments { get; set; }

Dave Kreskowiak

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

Тип "объект" - это просто фитер, ограничивающий возвращаемый объект только свойствами и методами, предоставляемыми типом "объект". Я уже указал вам на документацию для "объекта", чтобы показать вам, что он выставляет.