Gå til innhold

Anbefalte innlegg

For denne gang deler jeg noen av mine små utilityprosjekter:

 

Beklager en lang post, prøvet å finne ut av spolier-box...

ExposeOrHide

https://github.com/AlexanderBrevig/ExposeOrHide

PM> Install-Package ExposeOrHide

// given this model
var model = new Test() {
    Trial = "test",
    Testing = "testing",
    Member = new Member() {
        Member1 = "member1",
        Member2 = "member2"
    },
    Objects = new List<Obj>() {
        new Obj() {Hi ="there", Hello ="to you" },
        new Obj() {Hi ="here" , Hello ="to me"},
    }
};

// you could get a dynamic object like this:
var dyna = model.Hide(hide => hide.Testing)
                .HideMember<Member>(member => member.Member, hide => hide.Member1)
                .ExposeMember<Obj>(member => member.Objects, hide => hide.Hi)
                .ToDynamic();

string hi = dyna.Objects[0].Hi;
//string error = dyn.Member.Member1; // not accessible
SuperSimplePubSub

https://github.com/AlexanderBrevig/SuperSimplePubSub

PM> Install-Package SuperSimplePubSub

class PubSubTest
{
    enum Test { ONE, TWO };

    static void Main(string[] args)
    {
        string test = " world";
        Action<object> hi = (ob) => { Console.WriteLine("hi" + ob); };
        Pub.Sub["hello"] = hi;
        Pub.Sub["hello"] = (ob) => { Console.WriteLine("hello" + ob); };
        Pub.Sub["hello"](test);

        Pub.Sub[Test.ONE] = (ob) => { Console.WriteLine("enum" + ob); };
        Pub.Sub[Test.ONE](test);

        Pub.Sub.Remove("hello", hi);
        Pub.Sub["hello"](test);
        Console.ReadKey();
    }
}

//prints:
//hi world
//hello world
//enum world
//hello world
PicoFSM

https://github.com/AlexanderBrevig/PicoFSM

 

Hvis du trenger en liten og fleksibel FSM i prosjektet ditt.

LazyCLI

https://github.com/AlexanderBrevig/LazyCLI

 

Hvis du ønsker å lage en Command Line Client (CLI) på enkel måte. Bare lag en [LazyCLI("-myflag")] på en statisk funksjon og så er du klar til å kjøre myprogram.exe -myflag så kalles funksjonen :)

DoActionOnceWhen

https://github.com/AlexanderBrevig/DoActionOnceWhen

 

I sanntidsprosjekter hender det ofte at man vil gjøre noe en gang når en betingelse intreffer. Denne lager en abstraksjon rundt dette og tillater f.eks:

var fizzOnce = DoActionOnceWhen.Do(() => Console.WriteLine("Fizz"));

for (int i = 1; i <= 30; ++i) {
  fizzOnce.When(() => i % 3 == 0)
}

// prints fizz once when i == 3
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...