Почему я не могу использовать ключевое слово as для структуры?

Я определил следующую структуру:

public struct Call
{
    public SourceFile caller;
    public SourceFile callee;

    public Call(SourceFile caller, SourceFile callee)
    {
        this.caller = caller;
        this.callee = callee;
    }
}

Позже я назначаю ее свойству Tag другого объекта:

line.Tag = new Call(sf1, sf2);

Но когда я пытаюсь получить свойство Tag следующим образом

Call call = line.Tag as Call;

Visual Studio выдает следующую ошибку времени компиляции:

Оператор as должен использоваться в ссылочный тип или тип, допускающий значение NULL

Что это означает? И как я могу это решить?

23
задан Jason Down 13 December 2010 в 01:35
поделиться