2011-01-13 2 views
0

Надеюсь, я только что сделал что-то немое, но я получил массив int, и я хочу назначить это свойство - но даже если массив int не является нулевым, когда я присваиваю его свойству, оно равно null. Обратите внимание, что это разбито на несколько операторов, поскольку я тестировал, что мой оператор select работает нормально.Почему мое свойство типа int [] установлено равным null?

int[] placementslist = selfSelPlacements.Select(p => p == null ? 0 : p.PlacementId).ToArray<int>(); 

Я попытался

UnitOfferingListCriteria.Placements = new int[placementslist.Length]; 

, а также просто назначая

UnitOfferingListCriteria.Placements = placementslist; 

Но UnitOfferingListCriteria.Placements всегда пустой, несмотря на placementslist, имеющий 1 ст.

В моем классе для свойства

public int[] Placements { get; set; } 

Если кто-то может указать на то, что я делаю неправильно - спасибо!

Редактировать - спасибо за предложения, были завалены другими вещами, поэтому у них еще не было возможности вернуться к нему.

+2

Можете ли вы опубликовать полную программу, которая демонстрирует проблему? – Ani

+0

Является ли ваша собственность действительно просто «Места размещения» {get; задавать; } ', или у вас есть фактические получатели и сеттеры, которые вы не публиковали. Если это последний, ваш сеттер, вероятно, просто сломан. – Gabe

+0

Есть ли у вас объект hierearchy? Если это так, возможно, что свойство в базовом классе не было должным образом переопределено и скрыто. – Dyppl

ответ

0
public int[] Placements { get; set; } 

будет иметь значение по умолчанию null.

Является ли UnitOfferingListCriteria классом или классом? Похоже, вы что-то делаете со статическим свойством? Или вы получаете доступ к собственности на имущество?

+0

Nerd, можете ли вы оставить представление о том, что вы думаете? –

1

Это работает для меня

int[] placementslist = selfSelPlacements.Select(p => p == null ? 0 : p.PlacementId).ToArray<int>(); 
UnitOfferingListCriteria.Placements = new int[placementslist.Length]; 
placementslist.CopyTo(UnitOfferingListCriteria.Placements, 0); 

и класс

public class UnitOfferingListCriteria 
{ 
    public static int[] Placements{ get; set; } 
} 

вы делаете что-нибудь другое?

0

Экземпляр, который вы пытаетесь ссылаться в свойстве, не должен иметь значение null, когда вы это делаете. Это очевидно, но иногда очевидно, что это очень очевидно.

Смежные вопросы