-1

検証を実行するために複数の関数が呼び出されているサンプル コードを参照してください。いずれかの検証が失敗した場合は、呼び出し元の環境に false を返し、すべてが成功した場合は true を返します。

結果として、検証が失敗した場合にエラー メッセージが返され、すべての検証に合格した場合に空の文字列が返されるように、ルーチンをカスタマイズする方法。私のコードを見て、私が述語でそれを望むようにカスタマイズするのを手伝ってください。

        private static Predicate<string>[] _checks = new Predicate<string>[]
        {
            ValidationSeries.IsAtLeastFiveChars,
            ValidationSeries.HasASpace,
            ValidationSeries.HasNoLeadingSpace,
            ValidationSeries.HasNoTrailingSpace
        };


private void button1_Click(object sender, EventArgs e)
{
    bool doesPassAllChecks = _checks.All(c => c("Hello Test"));
}

    public static class ValidationSeries
    {
            public static bool IsAtLeastFiveChars(string text)
            {
                return text.Length >= 5;
            }

            public static bool HasASpace(string text)
            {
                return text.Contains(' ');
            }

            public static bool HasNoLeadingSpace(string text)
            {
                return !text.StartsWith(" ");
            }

            public static bool HasNoTrailingSpace(string text)
            {
                return !text.EndsWith(" ");
            }
    }

助けを求めています。ありがとう

4

1 に答える 1