System.Xml.Serialization.CodeGenerator.DeclareOrGetLocal C# (CSharp) Method

DeclareOrGetLocal() private method

private DeclareOrGetLocal ( Type type, string name ) : LocalBuilder
type System.Type
name string
return System.Reflection.Emit.LocalBuilder
        internal LocalBuilder DeclareOrGetLocal(Type type, string name)
        {
            LocalBuilder local;
            if (!_currentScope.TryGetValue(name, out local))
                local = DeclareLocal(type, name);
            else
                Debug.Assert(local.LocalType == type);
            return local;
        }

Usage Example

 internal void WriteCreateInstance(string source, bool ctorInaccessible, Type type, CodeGenerator ilg)
 {
     LocalBuilder sLoc = ilg.DeclareOrGetLocal(type, source);
     ILGenForCreateInstance(ilg, type, ctorInaccessible, ctorInaccessible);
     ilg.Stloc(sLoc);
 }