© 2026 Hedgehog Software, LLC

TwitterGitHubDiscord
More
CommunitiesDocsAboutTermsPrivacy
Search
Star
Setup for Free
C#C
C#•2y ago•
9 replies
SWEETPONY

✅ How to correctly write conditions with expressions?

I have this code:
public static class BookPolicy
    {
        public static void AllowRead(Book book)
        {
            var isHorrorBook = Specifications.IsHorrorBook().Compile();
            var isPonyBook = Specifications.IsPonyBook().Compile();

            if (isHorrorBook(book) || isPonyBook(book))
                throw new Exception("Horror or pony books don't allow here");
        }
    }

    public static class Specifications
    {
        public static Expression<Func<Book, bool>> IsHorrorBook() =>
            book => book.Title.Contains("Frankenstein");
        
        public static Expression<Func<Book, bool>> IsPonyBook() =>
            book => book.Title.Contains("Pony");
    }
public static class BookPolicy
    {
        public static void AllowRead(Book book)
        {
            var isHorrorBook = Specifications.IsHorrorBook().Compile();
            var isPonyBook = Specifications.IsPonyBook().Compile();

            if (isHorrorBook(book) || isPonyBook(book))
                throw new Exception("Horror or pony books don't allow here");
        }
    }

    public static class Specifications
    {
        public static Expression<Func<Book, bool>> IsHorrorBook() =>
            book => book.Title.Contains("Frankenstein");
        
        public static Expression<Func<Book, bool>> IsPonyBook() =>
            book => book.Title.Contains("Pony");
    }


everything is ok but i would like to know is it possible to write smth like this?
if(book is Horror or Pony) {...}
if(book is Horror or Pony) {...}

I don't understand how to do this with expressions
C# banner
C#Join
We are a programming server aimed at coders discussing everything related to C# (CSharp) and .NET.
61,871Members
Resources

Similar Threads

Was this page helpful?
Recent Announcements

Similar Threads

❔ How to correctly write this linq query?
C#CC# / help
4y ago
❔ How to deserialize correctly
C#CC# / help
4y ago
❔ LINQ expressions with "pipeline" pattern
C#CC# / help
3y ago
Switch Expressions
C#CC# / help
11mo ago