帳票・レポート 日本仕様の帳票開発に必要な機能を搭載したコンポーネント ActiveReports for .NET ActiveReportsJS 表計算・グリッド Excel風のビューと表計算機能を実現するUIコンポーネント SPREAD for Windows Forms SPREAD for ASP.NET SPREAD for WPF SpreadJS 入力支援 快適な入力を実現する日本仕様入力コンポーネントセット InputManPlus for Windows Forms InputManPlus for ASP.NET InputManPlus for WPF InputManJS 多段明細 1レコード複数行&日付表示に 最適なグリッドコンポーネント MultiRowPlus for Windows Forms 戻る コンポーネントセット Visual Studioで利用す
結論、こうなるらしい。 - ByVal ByRef 値型 値渡し 参照渡し 参照型 参照渡し参照の値渡し 参照渡し つまり、参照型を引数として受け取るFunctionやSubは、どっちにしても参照渡しになるという罠。 (5/28)id:bleis-tiftさんに指摘されて直しました。 ちなみにどれが値型で、どれが参照型かというのは、 http://msdn.microsoft.com/ja-jp/library/dd314344.aspx に書いてありました。 Dateが値型とか、Javaな人にとってはハマりそうなポイントかも。 なわけで、サンプル書いてみた。 値型 Class Test Public Shared Sub Main() Dim i = 20 ' ByValで渡す ByValFunction(i) System.Console.WriteLine("i = " & i) '
C#とJavaの言語選定にあたり、実行環境の比較をするため、ガベージコレクタについて調べていました。 .NET Frameworkのガベージコレクション方式は世代別GCですが、Javaとは随分異なっています。特に顕著に異なっているのがLOH(Large Object Heap)と呼ばれる大きなサイズのオブジェクトを格納する専用ヒープ領域がある点です。現在のバージョンでは、85KB以上のサイズのオブジェクトは世代別管理のヒープ(generation 0)ではなく、このLOHに割り当てられます。 この仕組みについては、MSDNマガジン(オンライン)の記事に詳しくあります(以下URL)。 CLR徹底解剖:大きなオブジェクトヒープの秘密 LOHは、第2世代(Javaで言えばOld世代)のGCと同じタイミングでGCがかかります。LOHでは、オブジェクトか回収された後、コンパクションを実施しないため、
よく分からないけど、doxygen, NDoc, SandcastleGUI, Atomineer Utils add-in for VS 2005/2008/2010を入れてみた doxygenについて Doxygen http://www.doxygen.jp/ ecloxとdoxygenで仕様書メンテナンスの効率をUP!(1/4) − @IT MONOist http://monoist.atmarkit.co.jp/fembedded/articles/eclipseccplusplus/04/eclipseccplusplus04a.html どうやらdoxygenは独自のコメント記法を使うらしい doxygenマニュアル日本語訳 http://www.fides.dti.ne.jp/~oka-t/doxygen-manual/html/ コード構造を視覚化せよ!!(Graphv
IT.NET 2010-01-01(Fri) .NET - 目次 - 未分類 次のサイトに移動しました。 http://www.itlab51.com/ 【移動済み】 | コメント : 0 | トラックバック : 0 | @ [Edit] « C# - フォームを特定のフォームの常に前面に表示させるには... (2) | ホーム | C# - テキストボックスのオートコンプリート機能を使用するには... (1) » trackback url この記事にトラックバックする(FC2ブログユーザー) trackback コメントの投稿 名前 タイトル メールアドレス URI Font & Icon 本文 パスワード 非公開コメント 管理者にだけ表示を許可する コメント « C# - フォームを特定のフォームの常に前面に表示させるには... (2) | ホーム | C# - テキストボックス
C#の例外処理におけるThrowの扱い方の違いのメモ。 C#/VB.NETでは、「throw;」を使うほうが推奨されることが多いです。「throw ex;」を使うとそれまでの情報(スタックトレースやInnerException)がクリアされます。 以下は、その確認コードです。 //ゼロ除算エラーを発生させる関数 private void ZeroDivide() { int zero = 0; int err = 1 / zero; } //exを付けてThrowする関数 private void ThrowEx() { try { ZeroDivide(); } catch (Exception ex) { //exを付けて投げる throw ex; } } //ex無しでThrowする関数 private void ThrowOnly() { try { ZeroDivide(); }
どこに書こうか迷ったけど、結局ここに書いてみることにします。 C# / Java 言語の概要は最低限知っている人でないと読めない文章です_o_。 **** おいら最近 C# でも書いてますが throws のところは最初に一番気になったところでした。throws 宣言できないなんて欠陥じゃん、みたいな。実際に C# でしばらく書いた上で、再度考えると、確かにこりゃ要らないかもという気がだぃいぶしてきてます。 本当のところは、根っこでのハンドリング方法(UncaughtExceptionHandler)がしっかりしているという前提で、多くの Exception 直径サブクラスを RuntimeException 化し、外部IO に直接絡む IOException のような部分だけをそのまま残すくらいが妥当なのかなと思うのですが、プログラミング工学的に考えるとそんなのは嘘妥協の世界ですが、
かなり個別な業務要件かと思いますが、 区分値入力のテキストボックスとコンボボックスが並んでいて、お互いに連動するという仕様がありました。 テキストボックスに「1」って入力すると、その入力値によりコンボボックスも選択値が変わるって感じです。 で、各画面で個別にイベント拾って実装するってのも面倒くさいので、共通クラスで実装してみました。 皆が簡単に実装出来て、コードもすっきりした?と思います。 環境は、VisualBasic2010、.NET Framework 4、コントロールとしてInfragisticsのWindows Formを使用。 NetAdvantage for Windows Forms photo credit: Profound Whatever via photo pin cc こんなクラスを作成。クラス名とか適当。 例外処理とか未だですがorz Public
NUnit、PartCover を組み合わせた MSBuild ファイル(.proj) を作る (個人的なメモ) - お だ のスペース では、PartCover を使っていましたが、今回は OpenCover を使いました。 次のような構成のソリューションを対象にしています。 Sample.sln Sample.WinForms.csproj Sample.Services.csproj Sample.WinForms.Test.csproj Sample.Services.Test.csproj Solution Items Report.proj CodeAnalysis.fxcop NuGet で、NUnit/NUnit Runners、OpenCover、ReportGenerator をインストールしています。FxCop は NuGet ではインストール出来ないので、Downl
CEP(複合イベント処理)の記事を見ていてふと業務アプリのバッチ処理に利用できないかなと思いました。ストリーム処理する構造にアナロジを感じました。 .NETのADO.NETにはストリームの読み込みにはDataReaderがあり、書き込みにはSqlBulkCopyがあります。これをLinqで繋げてストリームぽく動作させるイメージです。 とりあえずやってみました。以下のコードの後半部分が該当の処理です。 Selectした結果のDataReaderを一旦IEnumerableに変換してここからLINQを使って処理、終わったらIDataReader に変換してSqlBulkCopyに渡すだけです。DataSetに比べてメモリの使用量はかなり軽減できそうですね。 using (SqlConnection sourceConnection = new SqlConnection(Settings.De
自分は.NETのORMは、EntityFrameworkかS2Cao.Netを使っていたのですが もうちょっと小軽く使えるものはないかと探していまして Dapperを少し使ってみたので備忘的に残します。 Dapperは、C#(.Net)で使えるマイクロORMってやつです。 マイクロなだけにシンプルで使いやすいってのが特徴なんですかね? まあそんなに迷わずに使えてます。 Dapperは、IDbConnectionの拡張メソッドとして機能を提供しています。 まずは、データ取得してみます。 IDbConnection db = new OracleConnection("User Id=test;Password=pass;Data Source=xe;"); db.Open(); var member = db.Query( "select MEMBER_ID, MEMBER_NAME, GR
C#便利なMutexであるが、それをさらに便利にしよう。 using (new AdvancedMutex("name")) { Console.WriteLine("start"); Thread.Sleep(50000); Console.WriteLine("end"); } こんな風にusingだけで簡単にプロセス間排他制御できるようになるユーティリティクラス。AbandonedMutexExceptionで悩む必要が減る。 using System; using System.Threading; public class AdvancedMutex : IDisposable { private Mutex mutex; public AdvancedMutex(string name) { mutex = new Mutex(false, name); mutex.WaitO
概要 (書きかけ) 複数のスレッドが同じデータを読み書きする場合、以下のような問題が起きる可能性があります。 読む → 加工 → 書き戻す という一連の作業の間に別の処理が割り込むことで、加工結果が正しく書き戻せないことがある。 書き換えの途中で読み込み処理が走ることで、中途半端な不正なデータになってしまう。 このような問題を避けるためには、一連の処理を原子的に(他のスレッドに割り込まれることなく)行えるような仕組みが必要になります。 「マルチスレッド」で説明した「ロック」も、そのための仕組みの1つです。 ここでは、原子性の保証に必要ないくつかの概念について説明して行きます。 予定 ●前置き ここで話すような内容、実際のところ、ライブラリの内部とかに閉じ込めて、エンド ユーザーが直接触らない方がいい。 並列処理、マルチ スレッド プログラミングの怖さはテストのしにくさ。 100万回に1回と
Windows Developer Daysの2日目の基調講演で公開された映像、「Through the Window」は約1分半しかありません。いわゆる「Shortバージョン」と呼ばれる長さです。おそらく作成されてはいないのでしょうが、フルバージョンを見たいという思いがありました。自分と同じようにフルバージョンの動画を見たいと思っている人はいるはずなので、その人たちのコメントを集めるサイトを作ってみました。 http://david9142.cloudapp.net/TTW/ 実はこのサイトを作ろうと計画していたわけではなく、5/1の朝Twitterでリツイートされた @metamon30 さんのツイートをみてほぼ衝動的に作りました。ところどころハマりましたが、ほぼ3時間でサイトを公開することができたので、「Windows Azureならたった3時間でサイトを公開できる」みたいな感じで記
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く