コンストラクタを隠蔽していて、Static な Instance メソッドで new してるので SingletonClass.Instance
でアクセスすると、クラスのプロパティ Value が取得できる。という理解であってますか?
Add
, Clear
, などは Value プロパティに対して行う。
LINQ で纏めるときは新しいインスタンスに移し替える感じでしょうか?(シングルトンを変えてしまうと他で再度いじれないため)
コンストラクタを隠蔽していて、Static な Instance メソッドで new してるので SingletonClass.Instance
でアクセスすると、クラスのプロパティ Value が取得できる。という理解であってますか?
Add
, Clear
, などは Value プロパティに対して行う。
LINQ で纏めるときは新しいインスタンスに移し替える感じでしょうか?(シングルトンを変えてしまうと他で再度いじれないため)
using System; | |
using Android.App; | |
using Android.Content; | |
using Android.Runtime; | |
using Android.Views; | |
using Android.Widget; | |
using Android.OS; | |
using Android.Gms.Maps; | |
using Android.Gms.Maps.Model; |
uti | platform |
---|---|
com.xamarin.workbook |
iOS |
C# での playground と同じようなツールで、Xamarin 製で現在のバージョンは 0.9.0.14 です。無料で こちら からダウンロードできます。C# の世界に足を踏み入れてみましょう。
早速 C# コードを書いてみます。その前に、文章を書ける。Markdown で。文章を追加して保存すると、Markdown が更新されます。
```json | |
{"exec-mode":"default","platform":"iOS","uti":"com.xamarin.workbook","packages":[{"id":"Xamarin.Forms","version":"2.2.0.31"}]} | |
``` | |
### Xamarin.Formsを Xamarin Workbooks で使うには? | |
File > Add Package から[Xamarin.Forms]を追加します。 | |
```csharp | |
#r "Xamarin.Forms.Platform.iOS" |
public Command CallCommand { get; private set; } | |
public MvvmPhonewordPageViewModel() | |
{ | |
// public Command (Action execute, Func<bool> canExecute); | |
// 第2引数でbool値を受け取り、ボタンの実行可否が判断されます。 | |
this.CallCommand = new Command(() => | |
{ | |
// Dialメソッドを呼び出します。 | |
Numbers.Instance.Dial(); |
using System; | |
using System.Collections.Generic; | |
using Android.App; | |
using Android.Content; | |
using Android.Runtime; | |
using Android.Views; | |
using Android.Widget; | |
using Android.OS; | |
namespace Phoneword.Droid |
using Android.Net; | |
private void DetectNetwork() | |
{ | |
ConnectivityManager connectivityManager = (ConnectivityManager)GetSystemService(ConnectivityService); | |
NetworkInfo activeConnection = connectivityManager.ActiveNetworkInfo; | |
bool isOnline = (activeConnection != null) && activeConnection.IsConnected; | |
if (isOnline) |
public class Ramen : INotifyPropertyChanged | |
{ | |
public event PropertyChangedEventHandler PropertyChanged; | |
/// <summary> | |
/// シングルトンのインスタンス | |
/// </summary> | |
public static Ramen Instance { get; } = new Ramen(); | |
/// <summary> |
public class RamenPageViewModel : INotifyPropertyChanged | |
{ | |
public event PropertyChangedEventHandler PropertyChanged; | |
#region プロパティ | |
private ObservableCollection<RamenItem> _items = Ramen.Instance.Items; | |
public ObservableCollection<RamenItem> Items | |
{ | |
get { return _items; } |
Public partial class CodeBehindPage : ContentPage | |
{ | |
ObservableCollection<Item> Items = new ObservableCollection<Item>(); | |
public CodeBehindRamenPage() | |
{ | |
InitializeComponent(); | |
// Items初期化 | |
this.Items.Clear(); |