Здравствуйте, Коваленко Дмитрий, Вы писали:
КД>Накрыли сомнения насчет CER
КД>КД>RuntimeHelpers.PrepareConstrainedRegions();
КД>try
КД>{
КД>}
КД>finally
КД>{
КД> List__Remove(x);
КД> List__PushFront(x);
КД>}
КД>//....
КД>static void List__Remove(Node x)
КД>{
КД> //....
КД>}
КД>static void List__PushFront(Node x)
КД>{
КД> //....
КД>}
КД>
КД>Когда я из finally вызову методы List__xxxx, там внутри "CER" будет продолжать действовать?
Насколько я помню нужно весь call graph внутри CER помечать ReliabilityContractAttribute, методы List__Remove и List__PushFront должны стать типа
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)]
static void List__Remove(Node x)
{
}
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)]
static void List__PushFront(Node x)
{
}
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>