В первом случае он вызовет метод DoIt () производного класса, потому что новое ключевое слово скрывает метод базового класса DoIt ().
Во втором случае он вызовет overriden DoIt ()
public class A
{
public virtual void DoIt()
{
Console.WriteLine("A::DoIt()");
}
}
public class B : A
{
new public void DoIt()
{
Console.WriteLine("B::DoIt()");
}
}
public class C : A
{
public override void DoIt()
{
Console.WriteLine("C::DoIt()");
}
}
позволяет создать экземпляр этих классов
A instanceA = new A();
B instanceB = new B();
C instanceC = new C();
instanceA.DoIt(); //A::DoIt()
instanceB.DoIt(); //B::DoIt()
instanceC.DoIt(); //B::DoIt()
Все ожидается выше. Позвольте задать экземпляр B и instanceC в instanceA и вызвать метод DoIt () и проверить результат.
instanceA = instanceB;
instanceA.DoIt(); //A::DoIt() calls DoIt method in class A
instanceA = instanceC;
instanceA.DoIt();//C::DoIt() calls DoIt method in class C because it was overriden in class C
encoded-word
маркеры (согласно RFC 2047 ) могут произойти в значениях некоторых заголовков. Они анализируются следующим образом:
=?<charset>?<encoding>?<data>?=
Набор символов является UTF-8 в этом случае, кодирование B
, что означает base64 (другая опция Q
, что означает Заключенный в кавычки Печатаемый).
Для чтения его сначала декодируйте base64, затем рассматривайте его как символы UTF-8.
Также читает различную интернет-Почту RFCs для большего количества детали, главным образом RFC 2047 .
, Так как Вы используете Perl, , Кодирует:: MIME:: Заголовок мог быть полезным:
КРАТКИЙ ОБЗОР
РЕЗЮМЕ
Этот модуль реализует Кодирование Заголовка Пантомимы RFC 2047. Существует 3 различных имени кодирования; Заголовок MIME, MIME-B и MIME-Q. Различие описано нижеuse Encode qw/encode decode/; $utf8 = decode('MIME-Header', $header); $header = encode('MIME-Header', $utf8);
decode() encode() MIME-Header Both B and Q =?UTF-8?B?....?= MIME-B B only; Q croaks =?UTF-8?B?....?= MIME-Q Q only; B croaks =?UTF-8?Q?....?=
Я думаю, что Закодировать дескрипторы модуля, что с MIME-Header
кодирование, так попробуйте это:
use Encode qw(decode);
my $decoded = decode("MIME-Header", $encoded);
Проверьте RFC2047 . «B» означает, что часть между двумя последними символами? Кодируется в base64. UTF-8, естественно, означает, что декодированные данные должны интерпретироваться как UTF-8.
Это стандартное расширение для маркировки заголовков в кодировке, указанное в RFC2047 .