.NET Clips - C#のタグがつけられたエントリー
1
CLIPS

C#からIronPython2.6を呼び出す方法

2463日前に更新 aoki1210aoki1210 2471日前に登録
2010年10月25日 GMT 2010年10月17日 GMT
IronPython2.6RC3が出ているというのに、C#からIronPythonを呼び出して使う方法についてはIronPython1.1の情報だったり2.0系列が多いのでちょいとメモを残しておきます。 IronPython自体のマニュアルに載せてくれればいいんですが、チュートリアルとかには載ってないみたいですね。おそらくDLRをホスティングするもう一段抽象化したところを探しに行けば見つかりそうな気がしますが後で1。 とりあえず確認したのは以下のようなこと。C#からIronPythonのコードを動的に実行IronPythonで使いたいアセンブリへの参照をC#で追加するC#のアセンブリ内で定義したinterfaceを実装する(継承する)IronPythonの変数をC#で受け取る・セットするIronPythonの関数をC#から呼び出して返り値を取得するIronPythonで定義したクラスをC#で実体化する まずはVisual Studio2を起動してC#の「コンソールアプリケーション」のプロジェクトを一つ作ります。(もちろん... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 19 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: C#, IronPython
1
CLIPS

C#をスクリプト言語として使う

2461日前に更新 aoki1210aoki1210 2471日前に登録
2010年10月27日 GMT 2010年10月17日 GMT
C#で開発している場合、外部ファイルにしたいスクリプト用の言語として、わざわざLuaのようなC#とは異なる言語を使う必要は無いだろう。 スクリプト言語には素直にC#を採用すれば良い。これにより、いつでもスクリプトから本体のコードへと昇格が可能になる。逆に本体のコードからスクリプト用のコードへの降格も可能になる。 「ああ、なんだ。CSharpCodeProviderの話か、それなら知ってるよ」と思った人も、以下ではいろんなアイデアを書いてあるので最後まで目を通して損は無いと思う。 CSharpCodeProviderについてのおさらい まずCSharpCodeProviderについておさらいしておこう。 CSharpCodeProvider CSharpCodeProvider http://dobon.net/vb/dotnet/programing/eval.html CSharpCodeProviderは、実行時にC#のコードをコンパイルして実行することが出来る。それ... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 74 | コメント | | ソースサイト: labs.yaneu.com
タグ: C#
1
CLIPS

コンストラクタでの例外はあり?なし?

2482日前に更新 aoki1210aoki1210 2489日前に登録
2010年10月06日 GMT 2010年09月29日 GMT
コンストラクタでの例外はあり?なし? http://togetter.com/li/54761 私の昨日の記事が発端でなんか興味深い議論になっている模様。 以下、twitterでは文字数的に書ききれないことをだらだらと。 二段階初期化(コンストラクタとは別に初期化関数を呼んでオブジェクトの構築をするような設計)は面倒なのでC#では私は、やらないですね。それで困ったことは特に無いのでまあ問題ないんだろうとは思ってます。また、コンストラクタでオブジェクトの構築が終わっていて、そのあとはimmutable(=内部の状態が不変)であるほうがオブジェクトの性質として望ましいというのもあります。 ああ、あと巨大なresourceを扱うなら、管理用のクラス(cache sizeの上限を設けて、アクセスしたtime stampの古いresourceから自動的に解放するだとか)を作るでしょうから、try~catch忘れたためにリソースリークという憂き目には遭ったことは一度も無いです。 まあ、それとは別に、現実的に言って、C... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 26 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: C#, 例外
1
CLIPS

C#の型推論は怠けすぎ

2484日前に更新 aoki1210aoki1210 2489日前に登録
2010年10月04日 GMT 2010年09月29日 GMT
C#のvarとtry~catchが糞すぎる - やねうらお-よっちゃんイカを食べながら、100倍ぬるぬる動くドール動画を制作中だけど大丈夫か?(via やねうらおさんとこ) C#はバランスと取れた良い言語ですが、あえて欠点を挙げると型推論がイマイチですよね。usingSystem; usingSystem.Collections.Generic; moduleM { staticMain() : void { // C#のvarに近いが初期化は必須ではない// mutable x = null;もOK。この場合、代入は参照型のみになるmutablex; try { // 適当なコードx = Dictionary.[int, string](); x[10] = "ten"; } catch { | xisException => Console.WriteLine(x); } ... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 26 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: C#, Nemerle
1
CLIPS

try-catchのスタイル

2482日前に更新 aoki1210aoki1210 2489日前に登録
2010年10月06日 GMT 2010年09月29日 GMT
やねうらおさんとこの「C#のvarとtry~catchが糞すぎる」の記事を読んで思ったこと。 var hoge = new HogeClass(); try { hoge.XXX(); } catch { if (hoge!=null) hoge.YYY(); } は、確かに、if 文が余分なので、初心者が書くコードなのかもしれないですが、 new をtry の外に出すこと自体は、間違っていないと考えています。 僕は、var を使う、使わないにかかわらず、 HogeClass hoge = new HogeClass(); try { hoge.XXX(); } catch { hoge.YYY(); } と、new を try の外側に書きます。 hoge.YYY() を catchブロックで呼び出さない場合も同様の書き方にしています。 確かに、new Hoge()での例外がキャッチできないですが、 new Hoge()での例外をキャッチしたい場合は、その上位スコープなり上位メソッドでキャッチすれば 良いと... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 27 | コメント | | ソースサイト: gushwell.ldblog.jp
タグ: C#
1
CLIPS

Silverlight/WPFで使える逆引きTips集 ――オートコンプリート機能編(1/6):CodeZine

2491日前に更新 https://me.yahoo.co.jp/a/HrRQWnZCf5.ibSRw4tJYgTOvRm8-#724eehttps://me.yahoo.co.jp/a/HrRQWnZCf5.ibSRw4tJYgTOvRm8-#724ee 2494日前に登録
2010年09月27日 GMT 2010年09月24日 GMT
(1) AutoCompleteBoxコントロール HIRO[著] はじめに  この連載ではSilverlightとWPFで使える、逆引きTipsを紹介していきます。今回は、Silverlightで使えるオートコンプリート機能(AutoCompleteBoxコントロール)について取り上げます。 対象読者  Visual Basic、Visual C#、および、Silverlight/WPFのプロジェクト作成方法、XAMLについて基礎的な知識がある方を対象としています。必要な環境  下記を使ってプログラミングできる環境(筆者はこの環境で検証し執筆しています)。Visual Studio 2010Microsoft Silverlight 4 Tools for Visual Studio 2010  Microsoft Silverlight 4 Tools for Visua... (詳細)
カテゴリー: Windows/Office/SharePoint | クリック数: 25 | コメント | | ソースサイト: codezine.jp
タグ: C#, Silverlight, VB.NET
1
CLIPS

C# ADO.NET 2.0 Provider for SQLiteによるSQLite操作

2491日前に更新 aoki1210aoki1210 2501日前に登録
2010年09月27日 GMT 2010年09月17日 GMT
ADO.NET 2.0 Provider for SQLiteを利用してSQLite操作する方法です。(SQLite-Wiki) http://sourceforge.net/projects/sqlite-dotnet2/files/ ↑ 上述Urlよりバイナリファイル(SQLite-x.x.xx.x-binaries.zip)ダウンロード後、 "System.Data.SQLite.DLL"を参照追加。 フォームにDataGridView(dataGridView1)及びButton(button1)を追加。  SQLiteデータベース"Info.db"を作成し(作成方法は後述)、コード記述後、アクセスできることを確認。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.... (詳細)
カテゴリー: DB(SQL/XML/永続化) | クリック数: 65 | コメント | | ソースサイト: techbank.jp
タグ: C#, SQlite
1
CLIPS

構造体とクラス

2497日前に更新 aoki1210aoki1210 2503日前に登録
2010年09月21日 GMT 2010年09月15日 GMT
構造体とクラス こういった話が。→ Design Guidelines– Classes vs. Structures C# で、構造体とクラスの使い分けはどうするの?ということで、以下のような記述が。Consider defining a structure instead of a class if instances of the type are small and commonly short-lived or are commonly embedded in other objects. Do not define a structure unless the type has all of the following characteristics: It logically represents a single value, similar to primitive types (integer, double, and so on). It has an instance size smaller than 16 bytes. It is immutable. It will n... (詳細)
カテゴリー: アーキテクチャ/デザイン/OSS | クリック数: 17 | コメント | | ソースサイト: ufcpp.spaces.live.com
タグ: C#
1
CLIPS

C#のChartを使って棒グラフを表示してみる

2497日前に更新 aoki1210aoki1210 2504日前に登録
2010年09月21日 GMT 2010年09月14日 GMT
VisualStudio 2010になるとC#でフォームアプリを作るときにグラフ表示が簡単にできるようになりました。 それは標準でコントロールに「Chart」というものができたからです。 慣れると便利なChartですが、最初は使い方が分からずGoogle先生に頼らないとやってられないです。 という個人的感想より、簡単チャート作成チュートリアル的なものを書いてみました。 フォームの構成 フォームに配置するコントロールコモンコントロール:Buttom → button1データ:Chart → chart1 コードprivatevoid button1_Click(object sender, EventArgs e) { string legend = "グラフ1"; chart1.Series.Clear(); //グラフ初期化 chart1.Series.Add(legend); //グラフ追加//グラフの種類を指定(Columnは棒グラフ) chart1.Series[legend].Cha... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 272 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: C#, Chart, Visual Studio 2010
1
CLIPS

C# OpenSSL.NETを利用した暗復号

2502日前に更新 aoki1210aoki1210 2505日前に登録
2010年09月16日 GMT 2010年09月13日 GMT
OpensslSample.zipOpenSSL.NET利用したTriple DES(DES_EDE3)による暗復号 ↑ "OpenSSL.NET”なるものを発見したので早速試しに実装。 ダウンロード後、"ManagedOpenSsl.dll"を参照追加要。(libeay32.dll/ssleay32.dllも実行に必要な為、コピー要) 以下ソースで暗復号は可能であるが、//??部の記述と関連するが、暗号化したいデータのレングスが8バイト以上でないと暗号化が正常に行われない。。。ソースを参照してないので原因は不明です。using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; using Ope... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 217 | コメント | | ソースサイト: techbank.jp
タグ: C#, SSL
1
CLIPS

共変性について。

2501日前に更新 aoki1210aoki1210 2505日前に登録
2010年09月17日 GMT 2010年09月13日 GMT
以下のクラス図について、考察してみます。 従業員(Employee)、顧客(Customer)は人(Person)です。 経営者(Manager)は従業員(Employee)でもあり、人(Person)でもあります。 namespace ContraCovariance { abstractclass Person { publicstring Name { get; set; } } abstractclass Employee : Person { } class Manager : Employee { } class Customer : Person { } class Program { staticvoid M1(Person[] persons) // 人として受け取る。 { // 顧客は、人であるが、従業員ではないため、例外が発生(System.ArrayTypeMismatchException) ... (詳細)
カテゴリー: アーキテクチャ/デザイン/OSS | クリック数: 13 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: C#
1
CLIPS

ステップ実行したり値を確認したり

2503日前に更新 aoki1210aoki1210 2507日前に登録
2010年09月15日 GMT 2010年09月11日 GMT
ステップ実行したり値を確認したり public int HogeHogeMethod() {   return IsHoge ? piyo : fuga; }   こう書くより public int HogeHogeMethod() {   var result = IsHoge ? piyo : fuga;   return result; } こう書いた方が、取得した結果を確認しやすいと思った。.. (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 3 | コメント | | ソースサイト: blogs.wankuma.com
タグ: C#
1
CLIPS

ApplicationExceptionが推奨されない理由

2501日前に更新 aoki1210aoki1210 2510日前に登録
2010年09月17日 GMT 2010年09月08日 GMT
Ognacの雑感 - ApplicationException は非推奨です で話題になっている、ApplicationExceptionですが、 MSDNの「CA1058: 型は、一定の基本型を拡張することはできません」 のページには、 .NET Framework Version 1 では、ApplicationException から新しい例外を派生することが推奨されていました。この推奨事項は変更されました。新しい例外は、System.Exception または System 名前空間のサブクラスの 1 つから派生する必要があります。 と記載があります。このとおり、マイクロソフトはApplicationExceptionの利用を推奨していません。 その理由ですが、.NET Framework の中で、ApplicationExecptionが設計者の意図に反した使い方がされているからだと思われます。 msdn で ApplicationException のページを開いてもらえばお分かりになりますが、 なぜか、.NETFrameworkで、このAppl... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 56 | コメント | | ソースサイト: gushwell.ldblog.jp
タグ: C#, 例外
1
CLIPS

名前で動的にプロパティにアクセスする

2510日前に更新 aoki1210aoki1210 2511日前に登録
2010年09月08日 GMT 2010年09月07日 GMT
下の例の2行目のようにプロパティ名で任意のオブジェクトのプロパティに「簡単に」アクセスしたいと思いました。 var value1 = hoge.Aaa; var value2 = hoge["Aaa"]; Assert.AreEqual(value1, value2); 最初、dynamicを使えばすぐできるのかと思ったら無理でした(hogeをdynamicにしてhoge["Aaa"]としたらインデクサにアクセスしてしまいます)。[]でなくていいから、dynamicと組み合わせて名前でプロパティにアクセスできる構文があればいいのにと思います。 代替案としてはラッパーを作ることかなぁ。たとえばこんなクラスを作ります。publicclass InstancePropertyAccessor { privatereadonlyobject _instance; privatereadonly Type _type; public InstancePropertyAccessor(object instance... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 11 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: C#, Reflection
1
CLIPS

.NET Framework 4.0 Task Parallel Library のタスクを理解する - japan.internet.com

2507日前に更新 aoki1210aoki1210 2512日前に登録
2010年09月11日 GMT 2010年09月06日 GMT
はじめに Microsoft は「Microsoft Visual Studio 2010」と「.NET Framework 4.0」で並列コンピューティング機能に多大な投資をしてきた。新機能を理解するには、核となる機能のコンポーネントを調べて核となる機能やコンセプトを見つけ出すことが最適な方法である場合が多い。さらに深く掘り下げ、各所で見られる一連のコンポーネントセットを見つけ出す。「Task Parallel Library」(TPL)は.NET Framework の並列コンピューティングで核となる機能だ。この Task クラスこそ TPL の心臓部である。Task クラスを使って TPL を活用する方法を以下で説明していく。 新しいモデル 開発者は Microsoft Visual Studio や.NET Framework に数バージョン前から搭載されてきた機能によって TPL を活用することができるが、TPL のすべてのメリットを本当に享受するには多くの.NET 開発者にとってあまり馴染みのないアーキテクチャ的アプローチが必要になる。 筆者は、TPL はスレッド、デレゲート、そ... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 40 | コメント | | ソースサイト: japan.internet.com
タグ: .NET4.0, C#, Parallel, Visual Studio
1
CLIPS

Lucene.NetをC#で使ってみた

2511日前に更新 aoki1210aoki1210 2515日前に登録
2010年09月07日 GMT 2010年09月03日 GMT
とある案件でデータベースのLIKE検索よりも全文検索を使ってみたほうが良いのではないか思うものがあったので、全文検索について調べてみました。 .NET環境ではLucene.Netというツールがあるみたいです。 全文検索エンジン「Lucene.Net」を使う http://www.atmarkit.co.jp/fdotnet/vblab/extcompo06/lucenenet01.html 上のページを参考にすると大体Lucene.Netの仕組みが理解できます。 今回はこの情報に加えて自分でサンプルコードを動かしながら気づいた点や注意した方がよい点についてまとめておきます。 JapaneseAnalyzerというライブラリに不具合があるようで、大量にインデックスを作成するとメモリー使用量がどんどん増えて最後にはOut of Memory Errorが発生します。自分で修正する場合はMeCabTokenizer.csというファイルを修正して再コンパイルする必要があります。 public MeCabTokeniz... (詳細)
カテゴリー: ツール(VisualStudio/Expression) | クリック数: 80 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: C#, Lucene.NET
1
CLIPS

C# : CLRはPATHを探さない

2512日前に更新 aoki1210aoki1210 2515日前に登録
2010年09月06日 GMT 2010年09月03日 GMT
普通のDLLは最終的に環境変数のPATHに書かれているところにあれば、Windowsのローダーが見つけてロードしてくれますが、.NET FrameworkのアセンブリDLLのロードについては、CLRは環境変数PATHを使用しません。 CLRは次の手順でロードすべきアセンブリを検索します。 構成ファイルのチェック。( 前に参照したアセンブリの検索... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 11 | コメント | | ソースサイト: opcdiary.net
タグ: C#
1
CLIPS

Pythonのリスト内包表記とLINQのクエリ構文を比べてみた

2513日前に更新 aoki1210aoki1210 2516日前に登録
2010年09月05日 GMT 2010年09月02日 GMT
元ネタ→ Pythonのリスト内包表記で色々な数列を作ってみた - アジャイルSEを目指すブログ デブサミ2008でも「なんでリスト内包みたいにしなかったの」と聞かれていたぐらいなんで、リスト内包とクエリ構文は似たところがある。 クエリ構文の方が長いけど、好きに改行・インデントできる。 それに、letが使えるのも地味に便利(fibを見よ)。var l = from x inEnumerable.Range(0, 10) select x; varpower = from x inEnumerable.Range(0, 10) select x * x; var even = from x inEnumerable.Range(0, 10) where x % 2 == 0 select x; var table = from x inEnumerable.Range(1, 9) select (fr... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 9 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: C#, Linq, Python
1
CLIPS

Moonmile Solutions Blog » 役所風にEnterキーで次のテキストボックスへ移動

2512日前に更新 aoki1210aoki1210 2516日前に登録
2010年09月06日 GMT 2010年09月02日 GMT
先日、子供の出生届に行ってきたわけですが、まだまだ古いパソコンを使っていましたお役所さん。出生届もインターネット越しでもいいんじゃない?と思ったり、思わなかったりしたのですが、ひょいと、パソコンの画面を見ると懐かしのDOS画面でありました。 役所関係や事務関係では、まだまだ強いですよね、この手のインターフェース。 そんな訳で「タブキーで次のフォーカスに移ればいいじゃん」と思っても「エンターキー(Enter Key)で次のフォーカスに移りたい」訳で、そこには、Silverlight とか、WPF とか、WEB やら jQuery やらの話は出てきません。ひたすら、今の業務にそろえたい訳です。 という訳で、UXってのが「ユーザー体験」ならば、かつてのDOS画面風を再現させたっていいじゃないと思いついたのがこの画面。 <001> って、バックを「黒」にして、文字を「緑」にしただけなんですが、もうちょっと工夫が必要ですよね。MS ゴシックのフォントでは字がつぶれるので、もっと適切な固定ピッチフォントで。アルファベット&数字が、きれい過ぎる感じがするので、そのあたりも。 とか。 で、真っ先に実装... (詳細)
カテゴリー: UX(WinForm/WPF/Phone) | クリック数: 8 | コメント | | ソースサイト: www.moonmile.net
タグ: C#, UX
1
CLIPS

GoogleジオコーディングをC#で簡単に利用する方法について

2512日前に更新 aoki1210aoki1210 2516日前に登録
2010年09月06日 GMT 2010年09月02日 GMT
はじめまして、エンジニアのR.Nです。 今回のテクヤンは、 Google Mapsジオコーディングサービスを利用して、 C#で住所から、経度・緯度を取得する方法をご紹介致します。 【サンプルコード】 using System.Net; // URI で識別されるリソースとのデータの送受信用の共通クラス WebClient downloadClient = new WebClient(); // URL Uri uriUrl = new Uri(string.Format( "http://maps.google.com/maps/geo?q={0}&output=csv&sensor=false", "※ジオコーディングしたい住所を入力して下さい。")); // ジオコーティングstring result = downloadClient.DownloadString(uriUrl); // 取得結果string[] results = result.Split(','); downloa... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 112 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: C#, ジオコーディング