.NETで作る!

.NETに関するあれこれ(C#、VB.NET)

2015-01-01から1年間の記事一覧

Serializerでディープコピー

元ネタ shinshu.fm 自分の古い記事が元ネタ。これ今ならもっと簡単にかける。 改善点は ファイルに書きださない。 クローン対象に属性を書く必要なし。 コード Imports System.IO Imports System.Runtime.Serialization 'ref System.Runtime.Serialization.d…

アプリケーション単位で管理できて書き込みもできる設定ファイルを自作する

元ネタ VB アプリケーション設定の保存と読み込み@Visual Basic 中学校 設定にはユーザーごとの設定である「ユーザースコープ」と、アプリケーションで共通である「アプリケーションスコープ」の2種類がある。 ユーザースコープの設定を変更した場合は、ユ…

WindowsStoreのアカウントもないのにXamarinビジネスライセンス無料キャンペーンに申し込んでみた

元ネタ 【朗報】Windows Phone 開発者は無料で Xamarin のライセンスを取得できます【8/31 まで!】 - Xamarin 日本語情報ytabuchi.hatenablog.com 注意事項 なんもしたことがない(Windows Dev Center のアカウントを持ってない)状態からのスタート。 Wind…

日付の操作(月・日・時・分・秒の切り捨て、月初日、月末日)

DateTimeクラスを使えば簡単にできます。 こんな拡張メソッドを作っとくといいかもしれない。 Imports System.Runtime.CompilerServices Public Module DateTimeExtension ''' <summary> ''' 月を切り捨てます。(日付が1月1日になり、時分秒がゼロになります) ''' </summary> <Extension()></extension()>…

Unity+app.configでSendMail

Unityシリーズ第3弾。Unityを使ってメールを飛ばしてみましょう。 前準備 Nugetから「Unity」と「CommonServiceLocator」をインストール。 Unityを使用しない場合 比較対象のため、まずUnityを使用しない場合のコードを先に挙げておきます。 Dim message As …

Visual Studio 2015 コードレンズを試す

コードレンズ自体は目新しいものではなく、VS2013*1から使えるそうです。 で今回のVS2015ではProfessionalから利用可能とのことで実際に触ってみました。 インストール Visual Studio 2015 Downloads 上記のサイトからVS2015 RC版をダウンロードしましょう。…

VisualStudio2015 エディション別機能一覧

引用元 Visual Studio 2015 における統合開発環境の進化 Compare_2015 機能一覧 動画内で出てきた機能一覧を見返したいので書き起こす。アンド、Communityエディションも併記。 機能 Enterprise Professional Community ストーリーボーディング ○ ○ ○ コード…

VB .NET4.5 Async/Await Cheat Sheet

Async および Await を使用した非同期プログラミング (C# および Visual Basic) 詳細はリンク先の通りのため詳細の説明は省き、カンペ化する。 非同期メソッド実処理 専用 Public Async Function GetMessageAsync(timer As Integer) As Task(Of String) Dim …

Private、Private Shared なFunctionをUnitTestする

VB.NET で Private Method、Private Shared Method を Unit Test します。 検証対象クラス Public Class Sample Public Sub New(prefix As String) Me.Prefix = prefix End Sub Private Property Prefix As String Private Function AddPrefix(s As String) …

WPF+Prism 5.0 でMVVMアプリを作る(画面遷移)

私が知ってるWindowsFormアプリの画面遷移は モーダルウインドウを開いて、オーナーウインドウは非表示にし、それっぽくみせる ScreenManagerクラス(非ウインドウクラス)を作って、現在画面を閉じてから次の画面を開く こんな感じです。 代わってWPFではFr…

ビジネスアプリ視点でみた WPF 3.0~4.5

WPF

ビジネスアプリという視点で.NET Frramework のどのバージョンを選んだら何ができるかをざっくりまとめます。無論、本命は最新バージョンの.NET4.5です。 各バージョンのざっくり説明 WPF 3.0 WPFアプリケーションが開発できるようになった最初のバージョン…

Jenkinsに単体テスト(MSTest)をさせる

Backlog(Git)とJenkins(MSBuild)を連携させ、自動ビルドさせる - VB.NETで作る!mk3008net.hatenablog.com これの続きで、Jenkinsに単体テスト(MSTest)をさせます。 Jenkinsの設定-アドイン 「Jenkinsの管理>プラグインの管理>利用可能タブ」からアドイ…

Backlog(Git)とJenkins(MSBuild)を連携させ、自動ビルドさせる

BacklogにあるGitリポジトリとJenkinsを連携させ、CIってのをやってみたいと思います。 環境 Windows 7 64bit Jenkinsのインストール まずはこちらのサイトからJenkinsをダウンロード、インストールしましょう。 Welcome to Jenkins CI! | Jenkins CIjenkins…

DB接続を拡張メソッド&デリゲートで実装する(ver.2015)

DB接続処理(Connection、Transaction)は頻出するので、極力少ないコードで、かつ開閉ミスの内容に実装してみます。*1 Imports System.Runtime.CompilerServices Public Module IDbConnectionExtension <Extension> Public Sub Connect(source As IDbConnection, core </extension>…

WPF で属性を使って値検証を実装する

WPFでは値検証方法が複数用意されていますので、標準機能を理解しつつより良い実装を考えてみます。 標準機能 XAMLにValidationRuleを書く 入力データ検証 その6 カスタムValidationRule - Yuya Yamaki’s blog 入力データ検証 その6 カスタムValidationRul…

Actionデリゲートでアスペクト指向なロギング

「アスペクト指向」って書くと多少語弊がある気がしますが、横断要素を一箇所に記述できるような言語要素って意味合いでとっていただければと。 2015/02/28追記 デリゲートのコードがラッピングしていないかったので全く意味が違うものになっていました。訂…

WPF 配色を外部ファイル化する

「app.configに設定した色をコントロールの背景色に使う」とかそういうイメージ。 アイデア app.configにて色を16進数で指定。 app.configにある色情報をアクセッサクラス(Pallet.vb)を作成。 リソースファイル(xaml)にて、Palletクラスをインスタンス。…

WPF Backspaceキー で画面遷移するのをやめる

WebページではBackspaceキーで画面遷移(戻る)が発生するのは常識と化していますが、WPFのFrameでもこのようになります。 ですが、WindowsアプリでBackspaceキーを押したら画面遷移が起きると認識している人はあまりいないでしょう。 というわけで、無効化…

WPF XButton1ClickとCommandをBindingする

XButtonって? 「XButton1」といってもいまいちピンときませんが、マウスの「戻る」ボタンといえば伝わりますでしょうか。ちなみにマウスの「進む」ボタンは「XButton2」というそうです。 XButton1押したら画面遷移「戻る」が走ってほしい 先ほどFrameを見た…

WPF Frameコントロールの見た目を変える

カスタム ちなみにデフォルトだとこれ。 経緯 WPFのFrameコントロールは画面遷移のコントロールとしてとても便利ですが、ツールバー(NavigationUIVisibility)の領域が非常に無駄。戻るボタンがちっこい。してなぜかこのコントロールだけグローエフェクトが…

Kairyu 0.5.0.2 beta リリース

Kairyu - object relation mapping framework Kairyu - object relation mapping framework - Home 主な変更点 Type.MakeGenericTypeをキャッシュ化するなど、パフォーマンス改善してます。 IDbConnection.ToLoader、IDbTransaction.ToSaver拡張メソッドを用…

WPF+Prism 5.0 でMVVMアプリを作る(ダイアログ)

ダイアログに関しては以前の記事でも取り上げましたが、以下のサイトが参考になるでしょう。 Interactivity Code Sample using the Prism Library 5.0 for WPF in C# for Visual Studio 2013 Interactivity Code Sample using the Prism Library 5.0 for WPF…

VB14の新機能をつらつらと

.NET Compiler Platform &#40;&#34;Roslyn&#34;&#41; .NET Compiler Platform ("Roslyn") - New language features in VB14 VB14(Visual Studio 2015)の新機能の情報が載っていたのでメモ。 The ?. operator ?演算子 Dim x = customer.Address?.Country ' is…

Unity+app.configでIDbConnectionにインスタンスを注入する

前回の続き。こちらがもともとやりたかったこと。 前準備 NuGetから「Unity」をインストールしておいてください。 Main.vb Imports Microsoft.Practices.Unity.Configuration Imports Microsoft.Practices.Unity Imports Microsoft.Practices.ServiceLocatio…

Unity+app.configでHello, wolrd

app.configを使ってIoC(制御の反転)をしてみます。本当はもっと複雑なことをしたいのですが、意外とconfigファイルを作成するのに手間取ったのでまずは簡単な例を作って注意点を探ります。 前準備 NuGetから「Unity」をインストールしておいてください。 M…

WPF+Prism 5.0 でMVVMアプリを作る(前準備)

前段 WPFのMVVMフレームワークといえばPrismとMVVM Light Toolkitがメジャーどころです。 新規に始める場合、「どちらを学べばよいか」という非常に悩ましい問題があります。 しかし初学者が適切に選べるわけもないので、自分のやりたいこと*1、わからないこ…

Git 共通無視ファイルを作る

Git

完全に個人メモ Visual Studio向け無視ファイルの作成 githubにテンプレがあるので入手しましょう。 github/gitignore gitignore/VisualStudio.gitignore at master · github/gitignore · GitHub 入手したら%userprofile%に保存しておきます。 共通無視ファ…

MEnvironment で環境(開発、実行etc)定数を一発切り替えする

重要 Unity+app.configでIDbConnectionをインスタンスする - VB.NETで作る! Unity+app.configでIDbConnectionをインスタンスする - VB.NETで作る! こちらの記事を参考に実装されることをお勧めします。 どうしても読みたいという方は続きへどうぞ

CA1002、CA2227を避けつつシリアル化する

シリアル化処理をするクラスに配列のプロパティがあるのはよくあることですが、 何も考えずにコーディングすると以下の制約にひっかかることが多いと思います。 サンプルのコード Public Property Hoges As New List(Of Hoge) CA1002: ジェネリック リストを…

. .