Exemple #1
0
        public string GetTargetString()
        {
            FieldInfo[] fieldInfos = GetFragmentFieldInfo();

            var    fieldInfoValues = fieldInfos.Select(f => f.GetValue(this));
            var    nonZeroValues   = fieldInfoValues.Where(f => ((int)f) != 0);
            string result          = string.Join(
                "_",
                nonZeroValues.Select(f => s_cachedFieldValueToString.GetOrAdd(f, value =>
            {
                if (value is Platform)
                {
                    var platform = (Platform)value;
                    if (platform >= Platform._reserved9)
                    {
                        return(Util.GetPlatformString(platform, null, this).ToLower());
                    }
                }
                return(value.ToString());
            }))
                );

            return(result);
        }