[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 02/20 17:30 / Filesize : 202 KB / Number-of Response : 866
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C♯, C#相談室 Part34



1 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 20:45:59 ]
(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。

前スレ
C♯, C#相談室 Part34
pc8.2ch.net/test/read.cgi/tech/1157549657/

過去スレは>>2-5あたり。
※スレタイに「#」を入れても消えちゃうので新スレ立てる人は要注意だ。

357 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 01:29:00 ]
>>355
そのデリゲートが使えるということですか?この場合引数はないので使えないと思うのですが。
また、デリゲートの定義全般の話ですので、一つのデリゲートの型が一致しても抜本的な解決にはならないかと。

>>356
型の定義が静的だ、という意味でしたらわかっています。
その定義をどうにかして見やすく配置できないかと考えてる次第です。

358 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 01:41:26 ]
void Func(Action sendMethod) { }

void SendMethod() { }
Action sendMethod = new Action(SendMethod);
Func(sendMethod);


Action<T>

359 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 01:50:40 ]
>>358
すいません、がんばって理解しようとするのですが眠くてどうにもならないようです。
また明日の朝見直して理解しようと思います。

360 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 06:06:10 ]
擬似コード過ぎて理解の必要がないというかw

361 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 10:27:19 ]
メソッド内で、一度代入したら不変であることを保証しようと思って、
void func()
{

362 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 10:29:12 ]
すいません、失敗して書き込んでしまいました。

メソッド内で、一度代入したら不変であることを保証しようと思って、
void func()
{
 readonly int i = OtherFunc();
 〜
}
としようとしたのですが、readonly が使えるのはクラスのフィールドのみらしく、できませんでした。
これと同等の文法はありますか?

363 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 10:59:26 ]
フィールドにすれば?

364 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 11:35:46 ]
>>363あほなことゆうな。
出来てもいいと思うんだけど出来ないね。
言語仕様を出来るだけシンプルにしたかったんかな?

365 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 12:07:10 ]
メソッド内でreadonlyを使わなければわからなくなるほど
変数宣言が多くて長いメソッドを書くなということでは



366 名前:デフォルトの名無しさん [2007/11/15(木) 00:24:37 ]
C#をやってるたら、仕事に支障をきたし始めたので辞めます

皆さんも仕事でC++を使う人は辞めたほうが無難です。

367 名前:デフォルトの名無しさん [2007/11/15(木) 00:33:52 ]
                             |
                             |
      ∩___∩             |
      | ノ  _,  ,_ ヽ        ((  | プラプラ
     /  ●   ● |         (=)
     |    ( _●_)  ミ _ (⌒)   J  ))
    彡、   |∪|  ノ
⊂⌒ヽ /    ヽノ  ヽ /⌒つ
  \ ヽ  /         ヽ /
   \_,,ノ      |、_ノ

368 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 00:37:32 ]
今時一本で食ってこうとしてる奴なんているんだ・・・可哀想に

369 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 01:07:38 ]
>>366
きっとC++をただ使ってるだけだろうな


370 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 03:44:22 ]
英語をやってるたら、仕事に支障をきたし始めたので辞めます

皆さんも仕事で日本語を使う人は辞めたほうが無難です。

371 名前:デフォルトの名無しさん [2007/11/15(木) 04:08:37 ]
自分の能無しぶりを理由にしても説得力はないな

372 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 11:25:36 ]
言語は道具、道具を複数使ってるからと言って支障きたすとは思えないのだが?

373 名前:デフォルトの名無しさん [2007/11/15(木) 23:27:54 ]
わからんではない

オブジェクト作りっぱなしなんてC++ではありえない
そんな環境になれてしまうとC++が面倒に感じてしまう。

まぁ、C#は使いやすさと引き換えに速度を完全に捨てたらな・・・

374 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 23:41:29 ]
速度は捨ててないぞ
捨てたのはメモリだ

375 名前:デフォルトの名無しさん [2007/11/15(木) 23:50:26 ]
>>374
ソクドモステテマスッテ



376 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 23:59:31 ]
メモリを捨てて速度が保たれるなんてありえない。

377 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 23:59:31 ]
文法がC#のC++があったら最強なんじゃないかと思う。

378 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 00:00:42 ]
>>376
それに初起動の速度もパフォーマンスだと考えると、メモリを食うならそれだけ起動が送れるからな。

379 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 00:04:58 ]
>>377

ネイティブのC#ならアンマネージドC#で作れるだろう。
ただし、APIは自作になるけどな。

380 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 00:05:35 ]
>>377
Delphi

381 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 00:12:14 ]
個々の性能を見るとC#はそう悪くない。
GCに関してはここによると
ttp://densanshokunin.at.webry.info/200702/article_1.html
> C++のstack > C#のFinalizeなし > > C++のheap = C#のDispose > C#のFinalize
ということらしい。スタックさいこーで次点がファイナライザなしのGCだそうだ。

C#が遅く感じるのはメタ情報を抱えたままなのが大きいように思える。
必要以上にコードやリソースの破棄と再ロードやページアウトインを繰り返していてこれが足を引っ張ってる。
JITやngenしててもメタ情報を参照するために結局もとのアセンブリもロードされているのが確認できる。
おかげで別の部分がメモリから追い出されることになりやすい。

382 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 00:19:38 ]
GCの話題にC++が出て来るなんて胡散臭すぎ

383 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 00:24:30 ]
>>382
普通に一番使われてるからだろ。
それにGCの動きはシステムに激しく依存するから、言い出したらきりがない。

384 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 00:27:09 ]
C#はマネージドコードなんだから、比較対照は同じマネージドコードのJavaだったら良いが
ネイティブのC++出されてもね。それにネイティブコードはあっさりとOS壊すプログラム開発が
できる(例えやりたくなくても)という欠点があるから、今後は.NETもよりセキュリティ強化された
サンドボックス上で実行しなくてはならないと結論がでて、ネイティブは生き残れなくなるんだよ。

385 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 00:33:13 ]
トリを忘れてたが>>381>>373を受けての書き込みだからね。




386 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 00:33:15 ]
>>384
マジで言ってんのか?だったらなんでWin32APIを.NETでサポートしないんだよ。
アンマネージドがマネージドに置き換えられるんなら、全部の機能が.NETから使えないとおかしいだろうが。
だいたいユーザー管理もまともに出来ないWindowsでソフトウェアのセキュリティ云々言われてもなあ?

387 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 02:10:11 ]


388 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 02:11:05 ]
   ∩___∩         |
   | ノ\     ヽ        |
  /  ●゛  ● |        |
  | ∪  ( _●_) ミ       j
 彡、   |∪|   |        J
/     ∩ノ ⊃  ヽ
(  \ / _ノ |  |
.\ “  /__|  |
  \ /___ /


389 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 02:43:35 ]
>>386

きまってるだろうが、最初は置き換えるつもりだったけど厳しいから
方向転換したんだよ。

390 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 03:42:16 ]
これはAA貼られても仕方ないなw技量が知れる

391 名前:デフォルトの名無しさん [2007/11/17(土) 01:20:47 ]
string csvDir = @"C:\test\";
string csvFileName = "test.csv";

string conString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
                   csvの接続ロジック
System.Data.OleDb.OleDbDataAdapter da = new System.Data.OleDb.OleDbDataAdapter(commText, con);

DataTable dt = new DataTable();
da.Fill(dt);

OleDbConnection OleConn = new OleDbConnection();
         ACCESSの接続ロジック
OleDA = new OleDbDataAdapter(expenditure, OleConn);

OleDA.Fill(Ds);

DDs = ddt;←ここがわからない

OleDbCommandBuilder cb = new OleDbCommandBuilder(OleDA);
cb.QuotePrefix ="[";
cb.QuoteSuffix = "]";

OleDA.Update(Ds) ;

CSVファイルをACCESSにインポートしたいのですが、CSVをテーブルに貼り付けた後は
どのようにしてACCESSにインポートすればよいのでしょうか?
上記のプログラムは一応コンパイルできるのですが、ちゃんとデータが移ってなくて・・・
どなたかわかる方がおられましたら、修正をおねがいします

392 名前:デフォルトの名無しさん [2007/11/17(土) 01:21:37 ]
すいませんDDs⇒Ds、ddt⇒dtです

393 名前:デフォルトの名無しさん [2007/11/17(土) 11:14:16 ]
C++で配列を作成し、それをIntPtrにポイントし、そのIntPtrをC#の関数に渡したいと思います。
この時、C#ではどのようにして、その配列を扱うことができるのでしょうか?

394 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 11:34:03 ]
C++"で"IntPtr?
そのC++ってのはC++/CLIなのか?

395 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 12:10:06 ]
>>394
はい。基本的にはIntPtrがサポートされているものです。




396 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 12:23:22 ]
意味が分からん。なんだよ基本的にはサポートされてるって
マネージド同士なら配列直接渡しゃいいじゃねーか

397 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 12:29:21 ]
>>396

正論。

>>395
何がやりたくてそのようなことをしようとしてるのか説明してくれないと。

398 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 12:47:38 ]
>>397
すいません。説明が悪くて。
アンマネージの配列のポインタが渡されて、それをC#クラスに渡したいというクラスがあります。
その方法としてIntPtr渡しを考えました。
アンマネージからマネージにマーシャルする方法もありますが、メモリコピーは避けたいです。
このような場合はマネージのみサポートする言語では作成しない方がいいのでしょうか?


399 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 12:55:04 ]
妥当なのは配列をやり取りするんじゃなくて操作をラップしたクラスをやり取りする形。
UnmanagedMemoryStream とか。

いざとなりゃ直接ポインタでもいいけどな。

400 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 12:58:36 ]
unsafeでポインタにすればいいのでは?

そもそも、C++の配列を作っている部分が既存部分でない(C#に対するラッパ部分)
であるなどといった状況なら、初めからマネージ配列にし、
C++内では必要に応じてpinしてやったほうが楽な気がする。


401 名前:デフォルトの名無しさん [2007/11/17(土) 13:23:51 ]
unsafeとクラス作成ですか。
特にC#はダメということではないのですね。ありがとうございます。
いただいたアドバイスをさらに調べてみます。


402 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 16:43:46 ]
C#はC++の後継言語だから、C++できることはたいていサポートされているよ。

403 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 17:01:06 ]
>>402
【審議拒否】
      ∧,,∧  ∧,,∧     タリー
 ∧∧ (・`  ) (  ´・) ∧∧
(ω・` ) U  )  (  Uノ( ´・ω)  キリバンナノニヨ
| U   u-u   u-u (U  ノ
 u-u ∧,,∧  ∧,,∧  u-u
    (・ω・`) (´・ω・)     コンナレスジャシカタネエヨナ
    (l  U)  (U  ノ
    `u-u'.  `u-u'

404 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 17:06:00 ]
餓鬼くさ。
403みたいのってひょっとして面白いと思ってコピペするのかね。
そんなの面白いと思うのは精神年齢永遠の12才の自分だけなのに

405 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 17:08:27 ]
402 はキリ番なのか?



406 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 17:59:26 ]
しかし402も釣りだろ

407 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 18:31:32 ]
>402
C++からややこしい機能はできなくしたからこそ扱いやすい言語になってるのかと。

408 名前:デフォルトの名無しさん [2007/11/17(土) 19:29:29 ]
this.axWebBrowser1.Navigateに
client.Connect(comboBox1.Text,80);
でアドレスを渡して表示させています。
comboBoxにはFQDNを入れておりますがhttp://から記載するとエラーになります。
FQDNしか入れられないためにHTTPSでのアクセスが出来ていないのですが
どのようにすればSSLでのアクセスが可能になるのでしょうか?

409 名前:デフォルトの名無しさん [2007/11/17(土) 21:57:07 ]
>>407
C++に挫折した人にぴったりですねhw

410 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 22:05:37 ]
>>408
AxWebBrowser なのか TcpClient なのかわからん
取り敢えず SslStream とか調べたらどうだ

411 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 00:07:17 ]
C++にこだわる奴は言語にこだわり過ぎ。
本当に大事なことは必要な機能を実装すること。
ややこしい機能はチーム開発や保守性をぶっ壊してくれるから
簡単にすることは大事。


412 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 00:08:08 ]
>>411
楽しいのも判るけどさスルーする事も大事。

413 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 00:26:01 ]
いろんな言語やってきて思うんだけど、結局のところ言語の文法って本質的に言語間の差にはならないんだよね。
foreachなんかでも、マクロ使えば簡単にCでも使えるわけだし。
本当に言語選択で大事なのは、VMだとかOS依存部分だとかのもっと大局的な部分なんじゃないかなあ。

414 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 00:36:54 ]
言語選択は技術者の経験やシステムの構成に左右されるところが多いから、
何が良いとかは断言できない。
自分にとって、一番スマートにプログラミングできるのはC#だけど、
サーバサイドプログラミングでLinuxならJava、UnixならCを選択するのが良いと思う。
なにせ、並列処理はやはりUnix系使うのが一番堅実だから。

415 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 00:38:25 ]
堅実ってなあに?




416 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 00:39:59 ]
堅実というより堅牢性
・プログラムにおいて、エラーや例外などに強く簡単には暴走しないもの。
・少なくともすぐに「不正な処理」と表示し、データ諸共および自分自身までふっ飛ばすようなOSのような作りではない事。


417 名前:デフォルトの名無しさん [2007/11/18(日) 00:40:08 ]
ググレカス

418 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 00:42:08 ]
いまどきそんなサーバ用OSはない。


419 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 04:36:13 ]
なんか見てると最近WebBrowserコントロールの質問はやってんな
同一人物なのか 流行なのかwwww

420 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 01:24:28 ]
ちょっと前に、スプラッシュウィンドウの実装についてあちこちで議論があったのを見たんだが、
こんなやり方では駄目なんだろうか?

public static class Program
{
[STAThread]
private static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Idle += Application_Run;
Application.Run();
}

private static bool _applicationRunning = false;
private static void Application_Run(object sender, EventArgs e)
{
if (_applicationRunning) { return; } else { _applicationRunning = true; }
Application.Idle -= Application_Run;

//ここにスプラッシュウィンドウだの、メイン処理だのを書く
//プログラムを終了させるべき場所にApplication.Exit()を書く
}
}


421 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 10:47:43 ]
初期起動時の処理にアプリケーション関連のイベントを記述するのは常識だから、
それでおk。

422 名前:420 mailto:sage [2007/11/23(金) 16:41:04 ]
>>421 さんくす

423 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 16:42:35 ]
そのあとのスプラッシュの表示と初期処理の
同時処理から完了までの流れがないと
大して意味ない気がするが…

どうでもいいが最近の書籍ではタイマー使って
一定時間同期的にスプラッシュ表示するやりかたばっか書かれてるな。
スプラッシュの意味ないっつうの。
まあ平気でビジーループ使ってる例よりはちょっとだけましだが。


424 名前:420 mailto:sage [2007/11/23(金) 17:23:29 ]
>>423
ご意見どうも。
実のところを言うと、スプラッシュウィンドウというよりは、
Form_Loadに全体の初期化処理を書きたくないので、
それをどこに書こうか、ということです。
必ずしも最初からFormを使うというわけでもないし。

あとは>>420の例で、何か過失を犯していないかを知りたかったのです。




425 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 19:03:56 ]
メッセージループに入ってからやる必要のある初期化ならそんなんじゃないの。
そうでないならなんもいらんと思うが。




426 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 18:00:35 ]
Bitmapを綺麗に回転させたいのですが、
RotateTransformは中心で回転していないのか一定以上の角度になると上手くいきません。
画像中心で回転させるにはどう指定すればいいのでしょうか?
教えてください。m(_ _)m

public static Bitmap BitmapRotate(Bitmap bmp, float angle)
{
// 出力用
Bitmap dst = new Bitmap(bmp.Width, bmp.Height, PixelFormat.Format32bppArgb);

// Graphics オブジェクト
Graphics g = Graphics.FromImage(dst);

// 透明色でクリアする
g.Clear(Color.Transparent);

// 回転させる
g.RotateTransform(angle);

// 綺麗に回転させるフィルタ
g.InterpolationMode = InterpolationMode.HighQualityBilinear;

// 描画
g.DrawImageUnscaled(bmp, 0, 0);

// 解放
g.Dispose();
return dst;
}

427 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 20:45:04 ]
>>426
画像の中心を回転中心にするならそいうふうに移動させないと。
msdn.microsoft.com/library/ja/cpguide/html/_gdiplus_why_transformation_order_is_significant_usecsharp.asp?frame=true

移動→回転→元の位置に戻す

回転させたことないから間違ってたらスマンね

428 名前:426 mailto:sage [2007/11/26(月) 05:37:10 ]
RotateTransformの前後に下記のコードを入れることで解決しました。
ありがとうございました。m(_ _)m

// 中心を指定する
g.TranslateTransform(bmp.Width / 2, bmp.Height / 2);

// 回転させる
g.RotateTransform(angle);

// 元に戻す
g.TranslateTransform(-bmp.Width / 2, -bmp.Height / 2);

429 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 19:57:23 ]
C#がJavaより勝っている点を教えてください。

430 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 20:13:42 ]
教えてあげないよ

431 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 20:16:46 ]
じゃん

432 名前:デフォルトの名無しさん [2007/11/29(木) 04:54:20 ]
さくさくさんかくぽりんきー

433 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 05:48:08 ]
コイケヤ







ココ行ケヤ
JAVAとC#どちらが優れているか教えてください Part2
ttp://pc11.2ch.net/test/read.cgi/prog/1189919634/

434 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 21:56:41 ]
データバインド対応のコンポーネント作りたいんですけど
どのクラスから調べればいいですか?
ぜんぜん見つからない・・・

435 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 00:00:29 ]
意見の割れそうなネタですが、皆様 using ステートメントをどの程度
使用していらっしゃるのでしょうか。

自分は今まで、ルート名前空間を汚したくない、或いは名前空間の
構造を崩したくないといった理由で using ステートメントを一切
使わず、愚直にも省略せず全部記述していたのですが、横に長く
なりすぎていよいよ疲れてきて、それに追い打ちをかけるように、
拡張メソッド (C# 3.0 言語仕様) を使うにはそのメソッドの属する
クラスの属する名前空間をインポートしてらねばならないという
ことを知って悩んでおります。

それなりに多様な名前空間を使用していますが、あまり多くインポートしても
逆に読みづらくなりそうに感じます。使用する名前空間それぞれどういった
基準でインポートするか否かを決めるか等、皆様どうか私に何らかの指針を
示して頂けませんでしょうか。



436 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 00:02:27 ]
全部インポートしてる。
型名重複するのなんてTimerぐらいだろ。

437 名前:435 mailto:sage [2007/12/01(土) 00:02:39 ]
>>435 の 9 行目:
 誤: してらねば
 正: せねば
失礼いたしました。

438 名前:デフォルトの名無しさん [2007/12/01(土) 00:10:26 ]
基本的に全部インポートする
クラス名が重複する場合は完全修飾名で書く

439 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 00:16:27 ]
>>435
文脈からしてひどく実直そうな人物と見るが、
努めてソフトにいうと、usingは普通衝突が発生しない限り使う。衝突しても、名前空間の張り替えをして使う。
よって、あなたがしてるようなコーディングはひどく非効率で例外的だ。今すぐusingステートメントを使うことをおすすめする。
それと、なんとなくIDEなどのコーディング補助を一切使ってない雰囲気があるのだが、
この際にそれらの機能を使ってみたらどうだろうか?
VisualStudio2005を使ってるなら、クラス名を書けば左下になにかでるはず。そこをクリックするか、Ctrl+Alt+F10を押して、
メニューから任意の名前空間を選べば、自動的にusingを書いてくれる。

440 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 00:21:23 ]
usingはクラス名を省略したいから書き込むんだよ。
つまり、一回しか宣言しないクラスは完全修飾名で記述してもいいが、
例えば、ファイルアクセスクラスでSystem.IOを何回も呼び出す可能性が
多い名前空間はあらかじめ宣言しておいた方が効率が良い。
この効率が一番重要なのがRAD。

441 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 00:22:07 ]
>>439 ( ・∀・)つ〃∩ ヘェーヘェーヘェー

442 名前:デフォルトの名無しさん [2007/12/01(土) 00:23:09 ]
ユーザコンポーネント内のコードからページに直接貼り付けたテキストボックスを参照するもっとも効率的な方法はどうすればいいのですか

443 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 00:28:48 ]
テキストボックスに限らず、クラスを参照する一番の方法は
プロパティを使うこと。

444 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 00:59:34 ]
たしかにC++なんかだと、C#のそのusingに相当する
usingディレクティブは使うなって言われるけどね。

ただ、それはエイリアスとかusing宣言とか代替があるから言えるわけで、
C#はガンガンusingする言語だと思っている俺。

445 名前:443 mailto:sage [2007/12/01(土) 01:25:47 ]
それと忘れてたけど、コントロールのアクセス修飾はprivateがデフォルトだから、
変えなければいけない。



446 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 01:30:23 ]
>>435
「using ステートメント」じゃなくて「using ディレクティブ」だろというか
そんなこと気にする前に基本的な言葉をだな(ry

まぁそれはいいとして >>444 もいっているように C++ で using namespace
が気になるのは、その他の仕様含めた総合的な要因によるもので、
その前提を元に C# は考えられていてほぼ危険性がクリアされているので
普通に使え。そっちのほうがみやすい。


447 名前:デフォルトの名無しさん [2007/12/01(土) 10:19:35 ]
ありがとう。
でもユーザコントロールから親のページクラスをどうすればアクセスできるのか想像できません

448 名前:デフォルトの名無しさん [2007/12/01(土) 11:54:24 ]
ページクラスを継承したクラスにコントロール検索プロパティを実装したとしてもユーザコントロールからはスコープの範囲外だからみれないですよね

449 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 12:24:22 ]
マスターページに実装。

450 名前:デフォルトの名無しさん [2007/12/01(土) 13:47:00 ]
マスターページに検索ののプロパティを作ってその配下のページコントロールに配置したテキストボックスを参照するのですか?
できそうな気がする。。

451 名前:デフォルトの名無しさん [2007/12/01(土) 14:22:26 ]
DataGridVewでデータバインディングしている時、主キー、ユニークの重複チェックは皆どうしてるの?

主キーは複合もあるので行でチェックするのがいいという前提で。チェック場所はいろんなイベントがあると思う
・DataGridVewのRowValidatingイベント
・DataTableのRowChagingイベント
※DBに問い合わせは論外。
他にもあるかもしれんが・・・。あったら教えて欲しいんですが。

で、入力された値をチェックと言うことでDataGridVewのRowValidatingでチェック。(ViewのことはViewでチェック)
他のクラスでチェックすると、調査時いろんなソースを追いかけないといけないので。

ほんでと、主キー重複、ユニークチェックメソッドはあるのか? → 調べたけどないと思う。
じゃ、別の方法でチェックするにはどうしたらいい?となると。

クラス内部で主キー、ユニークの値を配列で保持して、配列内をチェックしかないのかなと思ってるんだけど。
複合主キーの時は、それぞれの列の値を文字列連結して1つの文字列として保持する。

これ以外になんかいい方法ってないですか?




452 名前:デフォルトの名無しさん [2007/12/01(土) 14:25:06 ]
あ、DataGridVewのDataErrorイベントは論外で。あんなの使いようがねぇって感じなので。

453 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 14:49:10 ]
バインド先がDataTableならPrimaryKey設定しとけば
DataGridVewの入力時エラーになるけど


454 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 16:24:19 ]
>>450

逆、参照するのがテキストボックス

455 名前:デフォルトの名無しさん [2007/12/01(土) 17:25:07 ]
逆とはどうゆう事?マスターページからページのテキストボックスを参照でいいんだよね。




456 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 19:25:42 ]
設定値はマスターページの値で、テキストボックスが更新されたら
マスターページの値を更新。

457 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 19:29:06 ]
説明が面倒だから、これをやるってこと
www.atmarkit.co.jp/fdotnet/dotnettips/469aspmasterpage2/aspmasterpage2.html







[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<202KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef