Domanda

Ho un'attività che ha proprietà che simile a questa (che siano impostati come corrette proprietà di dipendenza, ho solo mantenuto semplice qui):

public List<MyType> TypeList { get; set; }
public Int32 Index { get; set; }
public MyType SelectedType { get; set; }

ed un'esecuzione che fa proprio questo:

SelectedType = TypeList[Index];

TypeList e indice sono valori che ho impostato da altre attività. Non impostato SelectedType a nulla nelle proprietà di attività, ho appena lasciato Preparati nell'esecuzione.

Ora so per certo che SelectedType è sempre impostato correttamente, posso anche puntare un'altra attività ad esso e stampare alcuni valori da esso. Quindi sono abbastanza positivo che non c'è niente di sbagliato in questo attività.

Tuttavia, ho un se l'attività con una condizione che assomiglia a questo:

((MyActivity)GetActivityByName("activity1")).SelectedType != null

e vale false (che significa che valutata SelectedType nullo). Sono abbastanza sicuro che quel cast attività è corretta (io lo faccio cose del genere tutto il tempo), e se non fosse stato non avrei ottengo un'eccezione riferimento null quando si cerca di accedere SelectedType? Quindi sono abbastanza sicuro che non sto facendo niente di male qui, ma per qualche ragione SelectedType sta arrivando nulla in quelle condizioni e in nessun altro posto.

E 'quasi come se la condizione è in corso di valutazione prima che l'attività è in esecuzione, ma l'attività viene ben prima che la condizione del flusso di lavoro, quindi non vedo perché questo sarebbe il caso.

Qualcuno può far luce su questo?

È stato utile?

Soluzione

A quanto pare ha a che fare con il ciclo while causando attività da clonare. Ho riparato legando la proprietà di attività alle proprietà del flusso di lavoro. Per ulteriori informazioni, vedere questo post che ho messo sul forum del flusso di lavoro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top