DiscriminatedUnionWithBase<Type1, Type2, BaseType> Class

Summary

A Discriminated union for 2 types.
Namespace
FunctionalSharp.DiscriminatedUnions
Base Types
  • object
  • DiscriminatedUnion<Type1, Type2>
graph TD Base0["DiscriminatedUnion<Type1, Type2>"]-->Type Base1["object"]-->Base0 Type["DiscriminatedUnionWithBase<Type1, Type2, BaseType>"] class Type type-node

Syntax

[Serializable]
public class DiscriminatedUnionWithBase<Type1, Type2, BaseType> : DiscriminatedUnion<Type1, Type2> 
    where Type1 : BaseType where Type2 : BaseType

Attributes

Type Description
SerializableAttribute

Type Parameters

Name Description
Type1 Type1
Type2 Type2
BaseType

Constructors

Name Summary
DiscriminatedUnionWithBase(Type1) Creates a new Discriminated union of with Type1
DiscriminatedUnionWithBase(Type2) Creates a new Discriminated union of with Type2

Properties

Name Value Summary
AnyType BaseType
Gets any type by returning the basetype.

Extension Methods

Name Value Summary
Match<DiscriminatedUnionWithBase<Type1, Type2, BaseType>>() PatternMatchSingleContext<T>
Starts a pattern match for a single value. Subsequent calls to With() need to be used to specify conditions
ToOption<DiscriminatedUnionWithBase<Type1, Type2, BaseType>>() IOption<T>
Turns the type T into an option type.