タグ

.netに関するmiya2000のブックマーク (47)

  • neue cc - VS2015+RoslynによるCodeRefactoringProviderの作り方と活用法

    この記事はC# Advent Calendar 2014のための記事になります。私は去年のAdvent Calendarでは非同期時代のLINQというものを書いていました、うん、中々良い記事であった(自分で言う)。今年のテーマはRoslynです。 先月にVS2015のRoslynでCode Analyzerを自作する(ついでにUnityコードも解析する)という記事を書きましたが、VS2015 PreviewではRoslynで作る拡張にもう一つ、Code Refactoringがあります。こちらも簡単に作れて、中々ベンリなので(前にVS2015のRoslynは以前から後退して「あんま大したことはできない」と言いましたが、それはそれでかなり役立ちです)、是非作っていきましょう。Code Analyzerと同じく非常に簡単に作れるのと、テンプレートがよくできていてちゃんとガイドになってるので、す

    miya2000
    miya2000 2014/12/08
    Preview changes いいですね。
  • neue cc - メソッドチェーン形式のテスト記述ライブラリ

    Chaining Assertion for MSTest 昨日の今日で特に更新はないのですが、せっかく画像作ったので再解説。命名は見たとおりに、メソッドチェーンで切らさずアサーションが書ける!ということから付けました。テストを、限りなくシンプルに素早く迷いなく書けるようにしたかった。その答えが、メソッドチェーンで最後に値を取ることです。 // 全てIs一つでメソッドチェーンで流るまま! Math.Pow(5, 2).Is(25); "foobar".Is(s => s.StartsWith("foo") && s.EndsWith("bar")); Enumerable.Range(1, 5).Is(1, 2, 3, 4, 5); Assert.AreEqualの最大の問題は、どっちがactualでどっちがexpectedだか悩んでしまうこと。一秒でも引っかかったら「気持よくない」のです

    miya2000
    miya2000 2011/02/26
    ☆☆☆
  • 「スマートタグの表示」のショートカットキーの既定値がShift+Alt+F10というのは使いづらい件。Shift+Alt+Zでよくね? - Bug Catharsis

    Visual Studio2005以降では、Eclipseなんかに比べるとまだまだ貧弱とはいえ、 便利なリファクタリング機能がいくつかある。たとえば、フィールドやメソッド名を変更するとき、 スマートタグを表示することで、参照されているものすべての名称を一括して変更することができる。 あるいは、クラスやインターフェイスに対してメソッドのスタブを作成したり、 インターフェイスの実装スタブを作成したり、足りないusing を自動でファイルの先頭に追加できるなど、 開発効率を向上させる便利な機能がいくつか用意されている。 まだ活用されていない方は勿体無いので意識的にガンガン活用するとよいと思う。 とはいえ、C#では利用可能であっても、なぜかVB.NETでは使えないリファクタ機能が多く、 VB.NETユーザーの方は、指を咥えて我慢するしかないという悲しい現実はあります。 この便利なリファクタ機能を利

    「スマートタグの表示」のショートカットキーの既定値がShift+Alt+F10というのは使いづらい件。Shift+Alt+Zでよくね? - Bug Catharsis
    miya2000
    miya2000 2010/08/15
    「[Ctrl] + [.] で出てくることに最近気づきました。」
  • this の寿命 - NyaRuRuが地球にいたころ

    先ほどのHow to use SafeHandle in a Resilient Libraryで GC.KeepAliveの話が出ていたので久しぶりに実験と. 関連話題. nyaruru.hatenablog.com d.hatena.ne.jp Re: .NET GC & Interop クイズ 以下のようなコードを実行してみます. using System; using System.Text; using System.Threading; using System.Diagnostics; public class Test { IntPtr MyHandle = IntPtr.Zero; ~Test() { Trace.WriteLine("Finalize; Release Handle"); } public void Hoge() { Trace.WriteLine("G

    this の寿命 - NyaRuRuが地球にいたころ
  • 【C#】WebBrowser上で表示されているテキストの部分取得

    'VB.NETで書いているが,使っているクラスやらメソッドやらは同じなので 'C#やってれば大体想像が付くはず。 'VB.NETで使っているDirectCastは普通にキャストしてくれ。 'なお, '[.NET]タブから 'System 'System.Windows.Forms(Formや各種コントロールのため) 'System.Drawing (Sizeクラスのため) 'を, '[COM]タブから 'Microsoft HTML Object Library 【重要】 'を読み込む必要があるので注意 Namespace Q3475698 Public Class Q3475698A Shared Sub Main Dim Form1 As New Q3475698B Form1.ShowDialog End Sub End Class Public Class Q3475698B In

    【C#】WebBrowser上で表示されているテキストの部分取得
  • x64環境でBadImageFormatException - 3日目の坊主

    Vistaのx64にしてから、以前作った動画再生ソフトを実行してみたら、 BadImageFormatExceptionという例外が発生した。 調べてみると、DirectXのライブラリはx86用しかなく、 x64用にコンパイルすると、その例外を吐いて動かないらしい。 ヘルプを見ると、プロジェクトのプロパティにある、 詳細コンパイルオプションでターゲットCPUを変更できるらしい。 だけども、そんなオプションはどこにもない。 また調べてみると、Expressエディションには、 そのオプションはないらしい。 それでまた調べてみると、SDKでターゲットCPUを指定できないだけで、 メモ帳とかで.vbprojファイルを開いて、<PropertyGroup>内に <PlatformTarget>x86</PlatformTarget>を追加すれば、 x86用にコンパイルしてくれるらしい。 オプションを

    x64環境でBadImageFormatException - 3日目の坊主
  • Re[2]: バイト配列の比較

    分類:[C#] バイト配列どうしの比較をループ以外の方法で出来ますか? ループして比較してもいいのですが、C#ならではの方法がありそうで いろいろ検索してみたのですが、わかりませんでした。

  • NUnit のカスタムConstraint

    目次 ホーム 連絡をする RSS Login Blog 利用状況 投稿数 - 1078 記事 - 2 コメント - 26179 トラックバック - 363 ニュース 著作とお薦めの品々は 著作とお薦めの品々は 東方熱帯林へ。 わんくま 東京勉強会#2 C++/CLI カクテル・レシピ 東京勉強会#3 template vs. generics 大阪勉強会#6 C++むかしばなし 東京勉強会#7 C++むかしばなし 東京勉強会#8 STL/CLRによるGeneric Programming TechEd 2007 @YOKOHAMA C++C++/CLI・C# 適材適所 東京勉強会#14 Making of BOF 東京勉強会#15 状態遷移 名古屋勉強会#2 WinUnit - お気楽お手軽UnitTest CodeZine Cで実現する「ぷちオブジェクト指向」 CUnitによるテスト駆

  • iPhoneでC#アプリが審査に通るワケ OSS実装「Mono」で広がる.NETの応用 − @IT

    2009/01/29 iPhone向けにC#で書かれたゲームが40以上存在する――。2009年1月7日付けのブログ投稿で、こんなにわかに信じられない現象を伝えるのは、メキシコ出身のオープンソース開発者、ミゲル・デ・イカザ(Miguel de Icaz)氏だ。iPhoneアプリケーションの開発といえば、アップルが提供するSDKに含まれるObjective-Cを使うか、Webブラウザ上でのみ動作するJavaScriptで実装するかのいずれかだった。 C#のような実行時にランタイム(.NET Framework)を必要とするプログラミング言語は、iPhoneでは使えない。なぜなら、任意のコードを実行できるランタイムを配布パッケージに含めることを、セキュリティ上の理由からアップルが禁じているからだ。 ではなぜ、C#アプリケーションが審査に通るのか? この背後には、オープンソースプロジェクト「Mo

  • ファイルのドラッグ アンド ドロップ機能を提供する - Visual C++

    この記事では、Visual C# アプリケーションでファイルのドラッグ アンド ドロップ機能を提供する方法について説明します。 元の製品バージョン: Visual C++ 元の KB 番号: 307966 概要 この記事で説明する手順は、Visual C# アプリケーションでファイルのドラッグ アンド ドロップ機能を提供する方法を示しています。 ListBoxコントロールは、ファイルのドラッグ アンド ドロップ プロシージャの保存先として使用されます。 要件 この一覧では、必要なハードウェア、ソフトウェア、ネットワーク インフラストラクチャ、およびサービス パック (Visual C#) の概要を示します。 この記事では、次のトピックについて理解していることを前提としています。 Windows Forms ListBox control Windows Forms event handli

    ファイルのドラッグ アンド ドロップ機能を提供する - Visual C++
    miya2000
    miya2000 2007/10/19
    ドラッグ&ドロップ drag drop
  • Endを使うとエラー - MSDN フォーラム

    miya2000
    miya2000 2007/10/19
    Environment.Exit で SecurityException 「Application.Run で起動した Form を Close すれば、終了します。」
  • アプリケーションを終了させるには Environment.Exit()

    Landscape トップページ | < 前の日 2006-05-06 2006-05-07 次の日 2006-05-08 > Landscape - エンジニアのメモ 2006-05-07 アプリケーションを終了させるには Environment.Exit() 当サイト内を Google 検索できます * アプリケーションを終了させるには Environment.Exit()この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [.net] [C#] C# でアプリケーションを終了させるには System.Environment.Exit() を使う。 Environment.Exit(0); Exit メソッドの引数にアプリケーションの終了コードを指定できる。これは 2005-01-20 「C# でアプリケーションの終了コードを返す」でも書いた。正常終了なら 0

  • 2006-01-22

    Formの位置をユーザーごとに記録しておいて、次回起動時に同じ位置に表示する、みたいなことが.NET2.0から簡単にできるようになった。位置の記録と読み出し程度なら、ちょちょっとマウス操作して数行のお決まりのコードを貼り付けるだけでできてしまう。VisualStudioってすんごいねぇ。 利用する機能は、アプリケーション設定の中の「ユーザー設定」というもの。名前通り、ユーザーごとに設定を保存してくれる。アプリケーション設定はアプリごとに一つあるけど、ユーザー設定はユーザーごとに別のファイルになるのでウィンドウ位置やオプション設定なんかのユーザーお好みの設定を記録しておくのに使える。記録するにはSave()、旧バージョンからの設定引継ぎはUpgrade()なんて書くだけ。楽だ。 以下、Visual C# 2005 Expressで実際にWindow位置を記録してみる手順。かかる時間は3〜5分

    2006-01-22
  • 第3回 マルチスレッドでデータの不整合を防ぐための排他制御 ― マルチスレッド・プログラミングにおける排他制御と同期制御(前編) ―

    第3回 マルチスレッドでデータの不整合を防ぐための排他制御 ― マルチスレッド・プログラミングにおける排他制御と同期制御(前編) ―:連載.NETマルチスレッド・プログラミング入門(1/3 ページ) 連載目次 前回では、.NETにおけるマルチスレッド・プログラミングの基的な実装方法についてまとめた。今回および次回では、マルチスレッドを使いこなすうえで欠かせない、スレッドをコントロールするためのプログラミング手法について解説していこう。 排他制御と同期制御とは シングルスレッド・プログラムでは問題にはならないが、マルチスレッド・プログラムで注意をしなくてはならないのが、「排他制御」と「同期制御」である。これらはまとめて同期制御と呼ばれることも多いが、ここでは分かりやすく説明するために、2つに分けて考えることにしたい。 排他制御とは、複数のスレッドから共通のリソース(データ)にほぼ同時にアク

    第3回 マルチスレッドでデータの不整合を防ぐための排他制御 ― マルチスレッド・プログラミングにおける排他制御と同期制御(前編) ―
  • CSV形式のファイルをDataTableや配列等として取得する

    CSV形式のファイルをDataTableや配列等として取得するCSV(Comma Separated Value)形式のファイルをDataTableや配列として読み込む方法を幾つか紹介します。ここでは3つの方法を紹介しますが、その前にCSVとはなにかについて確認しておきます。 CSV形式とは?CSV形式について、絶対的な決まりは存在していないようです。ただし、一般的なアプリケーションで使われている決まりについては、「CSV Comma Separated Value File Format (How To)」で説明されています。 要約しますと、次のようになります。 レコードは、LFまたはCRLFで区切られる。フィールドは、カンマ(,)で区切られる。区切りのカンマの前後のスペース(タブを含む)は無視される。フィールドにカンマが含まれる場合、フィールドをダブルクォート(")で囲まなければならな

    CSV形式のファイルをDataTableや配列等として取得する
  • [ADO.NET]データテーブル(DataTable)内のレコードをソートするには? ― @IT

    連載目次 データテーブル*は、メモリ上において(主にデータベースの)テーブルを表すためのオブジェクトである。一般的にデータテーブルは、データベースから取得したレコード(行データ)を保持するのに使われる。 データテーブルのレコードをソート(並べ替え)したい場合には、データベースからレコードを取得するときに発行するSQL文(SELECT文)でソート条件を指定すれば、データテーブル内のレコードはソートされた状態となる。 しかし、複数の検索結果を1つのデータテーブルにマージした場合や、データベース以外のデータソースからデータテーブルを作成した場合などにもレコードをソートしたいなら、データテーブル上でソートを行う必要がある。稿ではこの方法について解説する。

    miya2000
    miya2000 2007/10/09
    dataTable Clone データそのものの並べ替え
  • Re: 無効中のボタンをマウスクリックイベントを受けてしまう - MSDN フォーラム

  • フォームにOKボタン、キャンセルボタンを付ける

    フォームにOKボタン、キャンセルボタンを付けるフォームにOKボタン、キャンセルボタンを付けたダイアログウィンドウを表示する方法を紹介します。これらのボタンがクリックされるとフォームは閉じられ、どのボタンが押されたかが取得できるようにします。さらに、Enterキーを押すことによりOKボタンがクリックされたことになるようにし、Escキーを押すことによりキャンセルボタンがクリックされたことになるようにします。 1.OKボタンを作成するには、フォームにButtonコントロールを追加し、DialogResultプロパティを「OK」にします。キャンセルボタンは同様にButtonコントロールのDialogResultプロパティを「Cancel」にします。 2.フォームのどのボタンが押されたのかを知るには、フォームのShowDialogメソッドの戻り値を調べるか、ShowDialogメソッドを呼び出した後

    フォームにOKボタン、キャンセルボタンを付ける
    miya2000
    miya2000 2007/07/31
    InputBox の実装
  • C#でInputBox関数に代わるものは?

    C#でInputBox関数に代わるものは?C#にVBのInputBox関数と同じものは用意されていません。よって、Microsoft.VisualBasic.dll内のInteraction.InputBoxメソッドを呼び出す以外では、自分でダイアログを作成するしかなさそうです。ダイアログフォームの作成方法は「フォームにOKボタン、キャンセルボタンを付ける」を参考にしてください。 注意:この記事では、基的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。 .NET Tipsをご利用いただく際は、注意事項をお守りください。

    C#でInputBox関数に代わるものは?
    miya2000
    miya2000 2007/07/31
    無いらしい
  • koido Blog - koido Blog

    XP祭り2009 ◎XP祭り2009 ~ XP10周年:ソフトウェア開発から日が変わる ~ http://kokucheese.com/event/index/325/ アジャイル開発の実践者の講演やワークショップ、 恒例のLT(ライトニング・トークス)など、 盛りだくさんになっています。 上記より参加申し込みください。 posted @ 1:35 | Comment (0) INETA Day 2009 募集開始 INETA Day 2009の募集を開始いたしました。 今年も、【最新技術トラック】、【コミュニティトラック】、チュートリアルトラック】 の3立てです。 【最新技術トラック】では、マイクロソフトの萩原様とアークウェイの森屋様を スピーカーとしてお招きし、クラウドでのアーキテクチャや開発について、 語っていただきます。 【コミュニティトラック】でも、最新のWeb系の技術などを