Skip to content

Instantly share code, notes, and snippets.

View nuitsjp's full-sized avatar

Atsushi Nakamura nuitsjp

View GitHub Profile
@nuitsjp
nuitsjp / file0.cs
Last active December 13, 2015 03:04
やりがちなアンマネージドメモリのリークと対処方法 ref: http://qiita.com/Nuits/items/9ce6a205a50bf8e3dbeb
IntPtr srcIntPtr = System.Runtime.InteropServices.Marshal.AllocCoTaskMem(length);
try
{
// ここに処理を記載する
}
finally
{
System.Runtime.InteropServices.Marshal.FreeCoTaskMem(srcIntPtr);
}
@nuitsjp
nuitsjp / file0.cs
Last active February 16, 2016 00:44
時間の間隔定義にはTimeSpanが便利! ref: http://qiita.com/Nuits/items/00010cf724c6ce6e1974
/// <summary>
/// ポーリング間隔:1分
/// </summary>
private static readonly int PollingInterval = 60 * 1000;
static void Main(string[] args)
{
while (true)
{
// 一定時間スリープする
@nuitsjp
nuitsjp / file0.cs
Last active March 3, 2016 07:19
WPFでコントロールからフォーカスを外す方法 ref: http://qiita.com/Nuits/items/89097e3e25a95bcd19f4
System.Windows.Input.Keyboard.ClearFocus();
@nuitsjp
nuitsjp / Xamarin.Forms Authentication 01
Created March 21, 2016 12:49
Xamarin.Forms & Azure Mobile Appsでユーザ認証 No.01
[Authorize]
public class TodoItemController : TableController<TodoItem>
public App()
{
// The root page of your application
MainPage = new MapPage();
}
/// <summary>
/// 検索条件入力コントロール。入力された値をイベントハンドラ内から取得するためメンバ変数に保持しておく
/// </summary>
private SearchBar searchBar;
/// <summary>
/// 地図コントロール。検索結果から該当地点へ移動などを行うためメンバ変数に保持しておく
/// </summary>
private Map map;
/// <summary>
/// Geocoding処理は非同期で実施するため、ローカル変数ではなくメンバ変数に保持しておく
private async void OnSearchButtonPressed(object sender, EventArgs e)
{
// 検索バーから入力された地名から緯度・経度を取得する
var positions = await geocoder.GetPositionsForAddressAsync(searchBar.Text);
// 座標は複数とれる可能性があるが、今回は先頭の座標を利用する
var position = positions.FirstOrDefault();
// 座標が一つ以上とれていた場合のみ以下を処理する
if (position != null)
{
// 該当地点へ移動する
public MapPage()
{
// 検索バーと地図コントロールを作成し、StackLayoutへ設定する
searchBar = new SearchBar();
map = new Map { IsShowingUser = true };
var stack = new StackLayout();
stack.Children.Add(searchBar);
stack.Children.Add(map);
// ページコンテンツとしてStackLayoutを登録する
Content = stack;
public MapPage()
{
// パディングを追加する
Padding = new Thickness(0, Device.OnPlatform(20, 0, 0), 0, 0);
// 検索バーと地図コントロールを作成し、StackLayoutへ設定する
searchBar = new SearchBar();
map = new Map { IsShowingUser = true };
var stack = new StackLayout();
stack.Children.Add(searchBar);
using System;
namespace SingletonSample
{
class Program
{
static void Main(string[] args)
{
SingletonClass.Instance.Initialize();