Ошибка компилятора С#? Синтаксис инициализатора объекта, используемый для свойства только для записи в выражении, приводC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка компилятора С#? Синтаксис инициализатора объекта, используемый для свойства только для записи в выражении, привод

Сообщение Anonymous »

Вы можете считать это отчетом об ошибке, однако мне любопытно, ошибаюсь ли я здесь, или есть ли объяснение от Эрика или кого-то еще из Microsoft.
Обновить< /h2>
Теперь это сообщение об ошибке в Microsoft Connect.
Описание
Рассмотрим следующий класс:

Код: Выделить всё

class A
{
public object B {
set { }
}
}
Здесь A.B — это доступное только для записи, но в остальном прекрасное свойство.

Теперь представьте, что мы назначьте его внутри выражения:

Код: Выделить всё

Expression expr =
() => new A {
B = new object { }
};
Этот код заставляет компилятор C# (оба 3.5.30729.4926 и 4.0.30319.1) выплевывать

Внутренняя ошибка компилятора (0xc0000005 по адресу 013E213F): вероятная причина – «BIND».

и произойдет сбой.
Однако просто замена синтаксиса инициализатора объекта () с помощью конструктора () компилируется отлично[/b].
Полный код для воспроизведения:

Код: Выделить всё

using System;
using System.Linq.Expressions;

class Test {
public static void Main()
{
Expression expr =
() => new A {
B = new object { }
};
}
}

class A {
public object B { set { } }
}
(И да, я добился успеха, работая над реальным проектом.)

Подробнее здесь: https://stackoverflow.com/questions/647 ... roperty-in
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Выражение коллекции внутри инициализатора коллекции и компилятора
    Anonymous » » в форуме C#
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Привод Spring Boot - Ошибка Создание боба с именем 'ProcessOrmetrics'
    Anonymous » » в форуме JAVA
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Spring-boot/Docker делает привод доступным в корне перед контекстом
    Anonymous » » в форуме JAVA
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Весенний возврат 404 при попытке протестировать /привод /Прометея
    Anonymous » » в форуме JAVA
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Весенний облачный контракт 404 на /привод /здоровье
    Anonymous » » в форуме JAVA
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»