Skip to content

Instantly share code, notes, and snippets.

View hjerpbakk's full-sized avatar
🌝
Full-stack TypeScript 

Runar Ovesen Hjerpbakk hjerpbakk

🌝
Full-stack TypeScript 
View GitHub Profile
@hjerpbakk
hjerpbakk / CustomerFeelingSheet.cs
Last active August 29, 2015 14:10
Using a TaskCompletionSource to enable async and await together with UIAlertController. From: http://www.hjerpbakk.com/blog/2014/11/23/from-uialertview-to-uialertcontroller-using-xamarin-and-async-await
public static class CustomerFeelingSheet {
public static Task<CustomerFeeling> ShowRatingDialogAsync(UIViewController parent) {
var taskCompletionSource = new TaskCompletionSource<CustomerFeeling>();
var alert = UIAlertController.Create("howDoYouFeel".T(), null, UIAlertControllerStyle.ActionSheet);
alert.AddAction(UIAlertAction.Create("likeIt".T(), UIAlertActionStyle.Default,
a => taskCompletionSource.SetResult(CustomerFeeling.LikeIt)));
alert.AddAction(UIAlertAction.Create("couldBeBetter".T(), UIAlertActionStyle.Default,
a => taskCompletionSource.SetResult(CustomerFeeling.CouldBeBetter)));
@hjerpbakk
hjerpbakk / DefaultInstance.cs
Created November 16, 2014 19:52
Example of the default instance in FermiContainer
var instance = FermiContainer.DefaultInstance;
IsInstanceOf<IFermiContainer>(instance);
Assert.AreSame(instance, FermiContainer.DefaultInstance);
@hjerpbakk
hjerpbakk / ResolvingConstructorArguments.cs
Created November 16, 2014 19:50
Shows resolving of constructor arguments in FermiContainer
[Test]
public void Register_EvenMoreComplexClass_CanBeResolved() {
m_fermiContainer.Register<IEvenMoreComplex, EvenMoreComplex>();
m_fermiContainer.Register<ICalculator, Calculator>();
m_fermiContainer.Register<IComplex, ComplexClass>();
m_fermiContainer.Register<ClassWithoutInterface>();
var complexInstance = m_fermiContainer.Resolve<IEvenMoreComplex>();
IsInstanceOf<IEvenMoreComplex>(complexInstance);
@hjerpbakk
hjerpbakk / ExistingInstance.cs
Created November 13, 2014 20:58
Resolve_RegisteredPremadeObject_ReturnsTheObject
var calculator = new Calculator();
m_fermiContainer.Register<ICalculator, Calculator>(() => calculator);
var calculator2 = m_fermiContainer.Resolve<ICalculator>();
Assert.AreSame(calculator, calculator2);
@hjerpbakk
hjerpbakk / Singleton.cs
Created November 11, 2014 07:05
FermiContainer example 3
var calculator = fermiContainer.Singleton<ICalculator>();
var calculator2 = fermiContainer.Singleton<ICalculator>();
Assert.AreSame(calculator, calculator2);
@hjerpbakk
hjerpbakk / Resolve.cs
Created November 11, 2014 07:04
FermiContainer example 2
var calculator = fermiContainer.Resolve<ICalculator>();
Assert.IsInstanceOf<Calculator>(calculator);
var calculator2 = fermiContainer.Resolve<ICalculator>();
Assert.AreNotSame(calculator, calculator2);
@hjerpbakk
hjerpbakk / Register.cs
Last active August 29, 2015 14:09
FermiContainer example 1
IFermiContainer fermiContainer = new FermiContainer();
fermiContainer.Register<ICalculator, Calculator>();
fermiContainer.Register<ClassWithOutAnInterface>();
@hjerpbakk
hjerpbakk / DayDetailsPage.cs
Created November 2, 2014 20:00
An example Xamarin Forms layout
<?xml version="1.0" encoding="UTF-8"?>
<ContentPage
xmlns="http://xamarin.com/schemas/2014/forms"
x:Class="PersonalTrainer.Views.DayDetailsPage"
Title="{Binding Day}" >
<TableView VerticalOptions="FillAndExpand" Intent="Form">
<TableView.Root>
<TableRoot>
<TableSection Title="Time spent">
<ViewCell Tapped="HandleTapped">
@hjerpbakk
hjerpbakk / CefSharp2.cs
Last active August 29, 2015 14:07
CefSharp in Windows Forms correct size
...
browser.Dock = DockStyle.Fill;
browser.Size = Size;
...
Controls.Add(browser);
@hjerpbakk
hjerpbakk / CefSharp.cs
Created October 5, 2014 19:53
CefSharp in Windows Forms
...
browser.Dock = DockStyle.Fill;
...
Controls.Add(browser);