Прочитал весь день о интерфейсах и абстрактных классах, пытаясь понять их, чтобы лучше понять библиотеку amazon, с которой я работаю. У меня есть этот код:Понимание интерфейсов C#
using MWSClientCsRuntime;
namespace MarketplaceWebServiceOrders.Model
{
public interface IMWSResponse : IMwsObject
{
ResponseHeaderMetadata ResponseHeaderMetadata { get; set; }
}
и
namespace MWSClientCsRuntime
{
public interface IMwsObject
{
void ReadFragmentFrom(IMwsReader r);
string ToXML();
string ToXMLFragment();
void WriteFragmentTo(IMwsWriter w);
void WriteTo(IMwsWriter w);
}
}
Мои первые вопросы, я думал, что интерфейсы не могут содержать поля, однако они могут содержать свойства USCH в ResponseHeaderMetadata
?
Во-вторых, в моей основной программе у меня есть эта строка кода:
IMWSResponse response = null;
с response
быть в дальнейшем используется для хранения информации, что амазонки отправляет обратно после вызова метода вызывается. Но каково значение для установки переменной типа интерфейса на нуль?
Кроме того, интерфейс может реализовать другой интерфейс? Это не только классы, которые могут реализовывать интерфейсы, но и сами интерфейсы?
Что это означает, что это означает, что переменная равна нулю? Это не отличается от любой другой переменной, которая имеет значение null; это означает, что на самом деле это не указывает на что-либо. Что вы не понимаете по этому поводу? – Servy
Какой смысл устанавливать тип переменной для интерфейса? Я понимаю установку переменной в строку или int или другой тип данных, но когда мне нужно установить переменную в тип интерфейса. –
Похоже, вам нужно потратить некоторое время на чтение интро-книги программирования или что-то подобное. Это выходит за рамки вопроса SO. – Servy