コード例 #1
0
ファイル: BytePattern.cs プロジェクト: tarekwiz/ReClass.NET
            public Tuple <string, string> ToString(PatternFormat format)
            {
                switch (format)
                {
                case PatternFormat.PatternAndMask:
                    return(HasWildcard ? Tuple.Create("\\x00", "?") : Tuple.Create($"\\x{ToByte():X02}", "x"));

                case PatternFormat.Combined:
                    var sb = new StringBuilder();
                    if (nibble1.IsWildcard)
                    {
                        sb.Append('?');
                    }
                    else
                    {
                        sb.AppendFormat("{0:X}", nibble1.Value);
                    }
                    if (nibble2.IsWildcard)
                    {
                        sb.Append('?');
                    }
                    else
                    {
                        sb.AppendFormat("{0:X}", nibble2.Value);
                    }
                    return(Tuple.Create(sb.ToString(), (string)null));

                default:
                    throw new ArgumentOutOfRangeException(nameof(format), format, null);
                }
            }
コード例 #2
0
ファイル: BytePattern.cs プロジェクト: tarekwiz/ReClass.NET
            public Tuple <string, string> ToString(PatternFormat format)
            {
                switch (format)
                {
                case PatternFormat.PatternAndMask:
                    return(Tuple.Create($"\\x{ToByte():X02}", "x"));

                case PatternFormat.Combined:
                    return(Tuple.Create($"{ToByte():X02}", (string)null));

                default:
                    throw new ArgumentOutOfRangeException(nameof(format), format, null);
                }
            }
コード例 #3
0
ファイル: BytePattern.cs プロジェクト: ownbe/ReClass.NET
        /// <summary>
        /// Formats the <see cref="BytePattern"/> in the specified <see cref="PatternFormat"/>.
        /// </summary>
        /// <param name="format">The format of the pattern.</param>
        /// <returns>A tuple containing the format. If <paramref name="format"/> is not <see cref="PatternFormat.PatternAndMask"/> the second item is null.</returns>
        public Tuple <string, string> ToString(PatternFormat format)
        {
            switch (format)
            {
            case PatternFormat.PatternAndMask:
                var sb1 = new StringBuilder();
                var sb2 = new StringBuilder();
                pattern
                .Select(p => p.ToString(PatternFormat.PatternAndMask))
                .ForEach(t =>
                {
                    sb1.Append(t.Item1);
                    sb2.Append(t.Item2);
                });
                return(Tuple.Create(sb1.ToString(), sb2.ToString()));

            case PatternFormat.Combined:
                return(Tuple.Create <string, string>(string.Join(" ", pattern.Select(p => p.ToString(PatternFormat.Combined).Item1)), null));

            default:
                throw new ArgumentOutOfRangeException(nameof(format), format, null);
            }
        }