private static (string OriginalText, string LanguageTag) GetMetadata(object[] arguments) { var length = arguments.Length; string o, l; if (length == 0) { o = null; l = null; } else if (length == 1) { o = GetOriginalText(arguments); l = null; } else { // length >= 2 o = GetOriginalText(arguments); var a1 = arguments[1] as string; if (LanguageTagCheckingCache.IsValid(a1)) { l = a1; } else { l = null; } } return(o, l); string GetOriginalText(object[] _arguments, int expectIndex = 0) { if (_arguments is null) { return(null); } return(GetExpectArg(_arguments, expectIndex)); } string GetExpectArg(object[] _arguments, int expectIndex) { if (expectIndex < 0) { return(null); } if (_arguments.Length > expectIndex) { return(_arguments[expectIndex] as string); } return(null); } }
private static (string OriginalText, string Namespace, string LanguageTag) GetMetadata(object[] arguments) { var length = arguments.Length; string o, n, l; if (length == 0) { o = null; n = null; l = null; } else if (length == 1) { o = GetOriginalText(arguments); n = null; l = null; } else if (length == 2) { o = GetOriginalText(arguments); var a1 = arguments[1] as string; if (LanguageTagCheckingCache.IsValid(a1)) { n = TranslationManager.ANONYMOUS_PACKAGE_KEY; l = a1; } else { n = a1; l = null; } } else { // length >= 3 o = GetOriginalText(arguments); n = GetNamespace(arguments); l = GetLanguageTag(arguments); } return(o, n, l); string GetOriginalText(object[] _arguments, int expectIndex = 0) { if (_arguments is null) { return(null); } return(GetExpectArg(_arguments, expectIndex)); } string GetNamespace(object[] _arguments, int expectIndex = 1) { string packageKey = GetExpectArg(_arguments, expectIndex); if (string.IsNullOrWhiteSpace(packageKey)) { packageKey = TranslationManager.ANONYMOUS_PACKAGE_KEY; } return(packageKey); } string GetLanguageTag(object[] _arguments, int expectIndex = 2) { return(GetExpectArg(_arguments, expectIndex)); } string GetExpectArg(object[] _arguments, int expectIndex) { if (expectIndex < 0) { return(null); } if (_arguments.Length > expectIndex) { return(_arguments[expectIndex] as string); } return(null); } }