public void DecodeTagsFor(DecodeDelegate decodeDelegate, IKeepUnrecognizedCfg unrecognizedKeeper, string tag) { BaseClassChain.Add(tag); try { foreach (var t in this) { var data = GetData(); if (decodeDelegate(t, data)) { continue; } BaseClassChain.Add(t); unrecognizedKeeper.UnrecognizedStd.Add(BaseClassChain, data); BaseClassChain.RemoveLast(); } } finally { BaseClassChain.RemoveLast(); } }
public static void Decode_Base(this string data, CfgDecoder.DecodeDelegate dec, IKeepUnrecognizedCfg unrecognizedKeeper, string tag = "b") => new CfgDecoder(data).DecodeTagsFor(dec, unrecognizedKeeper, tag);
public static CfgEncoder EncodeUnrecognized(this IKeepUnrecognizedCfg ur) => ur.UnrecognizedStd.Encode();
public static CfgEncoder EncodeUnrecognized(this IKeepUnrecognizedCfg ur) { return(ur.UnrecognizedStd.Encode()); }