Skip to content

Instantly share code, notes, and snippets.

static class OperatorModeExtensions
{
static bool IsValidForUpdate(this OperatorMode mode)
{
return mode == OperatorMode.Admin || mode == OperatorMode.Sysadmin;
}
// All users can view homepage
static bool CanViewHomepage(this OperatorMode mode)
{
static class OperatorModeExtensions
{
static bool IsValid(this OperatorMode mode)
{
return mode == OperatorMode.Admin || mode == OperatorMode.Sysadmin;
}
}
var validActions = actions.Where(a => a.Operator.IsValid());
var validActions = actions.Where(a => a.Operator == OperatorMode.Admin || a.Operator == OperatorMode.Sysadmin);
enum OperatorMode
{
Anonymous,
Member,
Operator,
Admin,
Sysadmin
}
class Action
{
public string ActionName { get; }
public OperatorMode Operator { get; }
}
List<Action> actions = getOperatorModes();
var validActions = actions.Where(a => a.Operator == OperatorMode.Admin);
enum OperatorMode
{
Member,
Operator,
Admin
}
let cb = validate 4
match cb with
| Some x -> x()
| None -> -1
// Arbitrary function
let doValidate x =
x > 3
// Arbitrary execution function
let doExecute x = 0
// Validate and return function to execute
let validate x =
match doValidate x with
class ObjectProcessor4Implementation : ObjectProcessor4
{
public bool CanProcess(DomainObject x, out Func<Result> doProcess)
{
if (!this.Validate(x))
{
doProcess = null;
return false;
}
interface ObjectProcessor4
{
bool CanProcess(DomainObject x, out Func<Result> doProcess);
}
public Result DoProcessing4(ObjectProcessor4 processor, DomainObject x)
{
Action doProcess;
if (processor.CanProcess(x, out doProcess))
{