VolatileFieldFixer.ProcessBody C# (CSharp) Méthode

ProcessBody() public méthode

public ProcessBody ( MethodBody body ) : void
body MethodBody
Résultat void
    void ProcessBody(MethodBody body)
    {
        var instructions = body.Instructions;
        for (var i = 0; i < instructions.Count; i++)
        {
            var instruction = instructions[i];
            if (instruction.OpCode == OpCodes.Stfld || instruction.OpCode == OpCodes.Ldfld)
            {
                var fieldReference = instruction.Operand as FieldReference;
                if (fieldReference == null)
                {
                    continue;
                }
                if (fieldReference.FieldType != volatileTypeFinder.VolatileReference)
                {
                    continue;
                }
                instructions.Insert(i,Instruction.Create(OpCodes.Volatile));
                i++;
            }
        }
    }