Enthroner Skrevet 27. januar 2015 Del Skrevet 27. januar 2015 For denne gang deler jeg noen av mine små utilityprosjekter: Beklager en lang post, prøvet å finne ut av spolier-box... ExposeOrHidehttps://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 SuperSimplePubSubhttps://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 PicoFSMhttps://github.com/AlexanderBrevig/PicoFSM Hvis du trenger en liten og fleksibel FSM i prosjektet ditt. LazyCLIhttps://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 DoActionOnceWhenhttps://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
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå