トップページ⇒tech
1001コメント312KB

VC♯.NET統合スレッド

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
VC♯だけのスレッドです
VB、JAVA厨は要りませんのでご了承
0052デフォルトの名無しさんNGNG
intをとれるっつーのは、コンパイル時に階乗計算したりするやつの事だろ。
でもまあ言葉だけで理解してもしょーもないと思うんだが。
0053デフォルトの名無しさんNGNG
>>52
意味がわからない。
0054デフォルトの名無しさんNGNG
>>50
釣りはお前だ!
0055デフォルトの名無しさんNGNG
>>53
template<typename T, int N>
↑
これの N の方のこと。

52の後半の文章は確かに意味分からん。
ついでに言うと、51の文章も意味分からん。
0056デフォルトの名無しさんNGNG
>>49
ワォワォ。YukonってSQL Serverだろ。
Genericsが実装されるとは驚きだね。
0057デフォルトの名無しさんNGNG
いや「言葉だけ」っていうのは、初めに49が書いたみたいに、
genericsであってtemplateじゃないよ、みたいな言い方のこと。
52に書いたのは50に同意って位の意味のことだ。
0058デフォルトの名無しさんNGNG
>50に同意
プゥ
0059デフォルトの名無しさんNGNG
C#するならやっぱXMLも必要だろうか・・・
0060デフォルトの名無しさんNGNG
C#するならやっぱunsafeキーワードも必要だろうか・・・
0061デフォルトの名無しさんNGNG
●ピンクエンジェル●
●http://www.pink-angel.jp/betu/index.html●
0062デフォルトの名無しさんNGNG
>>56
今さら驚くなよ。とっくに情報出てるだろ。
>>57
CLRのGenericsはテンプレートとは違うぞ。言葉だけじゃなくセマンティクスが違う。わかってる?
0063デフォルトの名無しさんNGNG
>62
頭の鈍い野郎だな。言葉だけで理解してるのが50なんだよ。
テンプレートにintが取れることも知らなかったし。
006463NGNG
>50じゃなくて>49だった。鬱。
0065デフォルトの名無しさんNGNG
>>63
えらそうなこと言うわりにはバカだなw
0066デフォルトの名無しさんNGNG
>>63
>>62==>>49
ばーか。
0067デフォルトの名無しさんNGNG
>66
○○と××は違うとか、セマンティックスとか抽象的な言葉で逃げてないで、
ちゃんと書いてみろよ、オラオラ。
言っとくけど>>51のは>>55も指摘しているとおり的外れだぞ。
0068デフォルトの名無しさんNGNG
>>62
そうか、SQL ServerにGenericsが実装されるのは当たり前のことだったのか・・・
0069デフォルトの名無しさんNGNG
SQL ServerにCLRが組み込まれるのでGenericsが実装される、
と言えなくもないな。


…と、ちと苦しいか。
0070デフォルトの名無しさんNGNG
いちいちイベントハンドラをかくのが面倒なのですが。
0071デフォルトの名無しさんNGNG
いちいちソースコードをかくのが面倒なのですが。
0072デフォルトの名無しさんNGNG
>>67
はあ、そうですか。
C++のテンプレートはRTTIではテンプレートかどうかわかりませんね。
CLRのGenericsはそれがわかるんです。
ちなみにJavaのGenericsはそれがわかりません。

それ以前に、テンプレートはGenericsの一形態に過ぎないなんて常識だろ。
あと、YukonをSQL Serverだと思ってるやつ、悪いこといわんから
業界から足洗ったほうがいい。
0073デフォルトの名無しさんNGNG
>>72
>YukonをSQL Serverだと思ってるやつ

モノが出てないのにどう思えばいいんだろ。(プ
0074デフォルトの名無しさんNGNG
>>73
モノが出てからじゃ遅いってことにまだ気づかんか。愚か者めが。
0075デフォルトの名無しさんNGNG
TextBox でエンターキーを押すとビープ音が出てしまいます。
これを抑制することはできますか?

VB や Delphi ではイベントで受け取ったキーコードに 0 を
代入することで ビープ音を抑制できましたが、C# のイベント関数では
参照のみで代入を行うことができませんでした。

private void keyDown(Object source, KeyEventArgs args) {
if(args.keyCode == Keys.Enter) {
args.keyCode = 0; //参照のみで代入ができない!
}
}
0076デフォルトの名無しさんNGNG
>>75
FAQです。
ttp://www.syncfusion.com/FAQ/WinForms/FAQ_c94c.asp#q863q
007775NGNG
>>76
ありがとう!
 ・キー入力処理より前に keyPress イベントが呼ばれる。
 ・keyPress イベントで Handled に true を代入することで
  キー入力を処理したことにできる(キー入力処理が行われなくなる)。

private void keyPress(Object source, KeyPressEventArgs args) {
 if((int)args.KeyChar == (int)Keys.Enter) {
  args.Handled = true;
 }
}
0078デフォルトの名無しさんNGNG
おまえら本当にGraphicsクラス使ってますか?
ダブルフバッラリングしようがこんな遅い糞クラスは使い物にならん。
DirectXつかったら1画面にしか描画できないしな。
誰か高速化の方法知らない?
0079デフォルトの名無しさんNGNG
>>78
PInvoke
0080デフォルトの名無しさんNGNG
>>78
IDirect3DDevice*.CreateAdditionalSwapChain()
0081デフォルトの名無しさんNGNG
数値をあらわすクラスってありますか?
Int32 や Decimal はクラスではなく構造体なので、
メソッドの戻り値の型として指定すると、
そのメソッドで Null を返却することができません。

public Int32 getHoge() {
  return null; //戻り値の型がクラスではないので Null は指定できない。
}
0082デフォルトの名無しさんNGNG
・・・intを返す関数なのになんでnullが返す必要があるんだろう・・・
0083デフォルトの名無しさんNGNG
テキストボックスに数値が入っていれば、その値を返す。
ただし、テキストボックスは空欄のままであることもある。

public Int32 getHoge() {
  try {
    return Int32.Parse(TextBox.Text);
  } catch(Exception) {
    return null;
  }
}
0084デフォルトの名無しさんNGNG
例外の使い方を考え直したほうがよいのでは?
これはあくまで例に過ぎないのかもしれないけど、
nullを返したところで、結局nullチェックしなきゃいけないじゃん。
0085デフォルトの名無しさんNGNG
>>72
>YukonをSQL Serverだと思ってるやつ
じゃあ、お前はYukonをウィルスとでも言いたいのか。
(ttp://www.f-secure.co.jp/v-descs/v-descs/yukon.htm)
ウィルスにGenericsが実装されてもちっとも嬉しくないぞ。ボケが。
ウィルスマンセー野郎は業界から出て行け。
0086デフォルトの名無しさんNGNG
>>83
空欄かどうかチェックすれば済む話
008783NGNG
>>84
このメソッド内の例外処理(try〜)はあくまでもたとえですよ。
それとも、このメソッド自体が 有効な数値を保持していないことを示す例外を
スローした方が良いということでしょうか? (呼び出し元に対して親切?)

呼出元では、シンプルに
  if((value = getHoge()) != null) {
    有効な値が保持されているときの処理;
  }
と書きたかったのですが…
  try {
    value = getHoge();
    有効な値を保持していた場合の処理;
  } catch(XXXException) {
    //何もしない
  }
と書いたほうが(作法として)良いでしょうか?

とりあえず、Null が使えないので、有効な値を保持していない状態を
あらわすために MinValue を返すことにしました。
こうゆう可読性を低下させるコードは書きたくなかったのですが、まぁ、いいや。
008883NGNG
>>86
な、なるほど!
C言語のような発想をしていたかもしれません。
ひとつのメソッドの戻り値に
 ・処理に必要な値
 ・エラーを示す値
とふたつの意味を持たせるというのが、そもそも良くないということですね。

public bool hasHoge() {
}
public Int32 getHoge() {
}
if(hasHoge()) {
  value = getHoge();
  ...
}
とすることにします。
0089デフォルトの名無しさんNGNG
hasHoge()がtrueだった次の瞬間に、
まだhasHoge()がtrueで有り続けているかどうかは
保証されないだろ。
009083NGNG
>>89
むむむ…。たしかにその通りですね。。
戻り値を Object型にしちゃおうかな。
0091デフォルトの名無しさんNGNG
>>89
がんばれ
0092デフォルトの名無しさんNGNG
>>90
値の変更が別スレッドでなければ保証されるよ。
問題ないから >>88 でやれば?
009383NGNG
>>92
これはテキストボックスの値を取り出すものなのですが大丈夫でしょうか?
自分で別スレッドをおこしたりするつもりはありませんが、
GUIはそもそも別スレッドとして動作しているのでないのでしょうか?
0094デフォルトの名無しさんNGNG
結局 Yukon == SQL Server で決定のようですね。
009584NGNG
>ひとつのメソッドの戻り値に
> ・処理に必要な値
> ・エラーを示す値
>とふたつの意味を持たせるというのが、そもそも良くないということですね。

ここがわかっているならば、
try {
  value = getHoge();
}
catch (空欄だよ例外){
  //なにもしないのもあり
}

としたほうが理想的だと思う。例外クラスが一つ増えてしまうのが嫌かもしれないけど。
これならばスレッドセーフも確保できる。
0096デフォルトの名無しさんNGNG
すみません、質問です。
C#でVC++の拡張機能にあったような配列つきのプロパティを設定することは可能ですか?

TekitouClass c;
c.data1[x,y]=1;
int i=c.data2[x,y];
ってな感じでやりたいのです(dataはプロパティ)
似たようなものにインデクサがありますが、
これだと一つのインデクサしか宣言できない(thisのみ)わけですよね?

どうすればよいのでしょうか?教えていただけると幸いです。
0097デフォルトの名無しさんNGNG
>>96
C#ではできません。VB.NETならできます。
C#のインデクサはC++の[]のオーバーロードと考えたほうが無難です。
0098デフォルトの名無しさんNGNG
なんで VB で出来て C# で出来ないんだろ?

俺的には、配列型のプロパティとインデクサの区別付かないから
気持ち悪くて禁止しちゃったのかなとか思ってるんだけど。

インデクサを this[int i] なんて書き方するってことは、
C# 開発段階では任意の名前のインデクサが作れたんじゃないかなとか思うんだけど。
0099デフォルトの名無しさんNGNG
正直 配列型プロパティとインデクサの区別つかないってどんな奴だ …と思う。
MSは便利な機構を後から小出しにして、毎回後方互換性のある新環境を
買わせる気に違いない。
いや違うかもしれんけど。
0100デフォルトの名無しさんNGNG
やっぱぜんぶポインタみたいなもんなのがきもちわるいな。
0101デフォルトの名無しさんNGNG
しつもんです。
デバッグしてて、.NET Framework の中に入って行きたいときはどうするのでしょうか?
MFCみたいにソースコードってないのでしょうか?
0102デフォルトの名無しさんNGNG
>>101
そんな事出来るなら、おれも.NET使うよ・・・
0103デフォルトの名無しさんNGNG
C#のセマフォクラスの名前おしえてください。
0104デフォルトの名無しさんNGNG
正直、インデクサの意義がわからん。
VBの引数付きのデフォルトプロパティでええがな。
ちゅうか、.NET Framework的にはインデクサは引数付きプロパティだし。
0105デフォルトの名無しさんNGNG
>>101
APIの中に入っていけないのと同じ事
0106デフォルトの名無しさんNGNG
>>105
嘘教えるな。
APIは関数だから無くても我慢できる事が多いが、
クラスライブラリのソースは無いと困る事が多い。
0107デフォルトの名無しさんNGNG
儂はアンチじゃないんじゃケド、CLRが挙動不審だと、
儂のソースかライブラリかの問題切り分けに、ソース見たいと良く思うぞよ。
ソース見れれば、ほほ間違いなく原因くらいはわかるぞな。
バグでも派生させれば、修正できることも多いぞな。
ソースは百利あって一害無しだぞよ。
0108デフォルトの名無しさんNGNG
MSがソース公開できないのは、実はC#の使用率が(  ̄ノ∇ ̄) ̄ー ̄)ホウホウ
0109デフォルトの名無しさんNGNG

まあ、ソースなんか無い方が良いという香具師は、
金なんか無い方が良いという香具師に同じってこったな。
0110デフォルトの名無しさんNGNG
>>105
ここにもアホがいたか...
0111ソースはNGNG
ココ
ttp://www.123aspx.com/rotor/default.aspx
0112デフォルトの名無しさんNGNG
動かないソースはいらないんですけど・・・
0113デフォルトの名無しさんNGNG
絵に描いた餅とはまさにこのことか。
0114デフォルトの名無しさんNGNG
> CLRは約3800のクラスで構成
> CLIは350のクラスで構成
意味ねー(#゚Д゚)
0115デフォルトの名無しさんNGNG
C#のセマフォクラスはどうなった?
0116デフォルトの名無しさんNGNG
>>115
これかな。
Monitor
ms-help://MS.VSCC/MS.MSDNVS.1041/cpref/html/frlrfSystemThreadingMonitorMembersTopic.htm
0117デフォルトの名無しさんNGNG
>>116
すいませんが、インターネット上でないですか?
0118デフォルトの名無しさんNGNG
>>116
煽りにマジレスしても >>117 のような反応しかないよ。
0119デフォルトの名無しさんNGNG
煽りだったのか・・・
0120デフォルトの名無しさんNGNG
>>107
ildasmで逆アセすればだいたいわかるぞな。
いくつかのバグもここでバグってるっていうところまではわかるし。

0121デフォルトの名無しさんNGNG
>>120
具体例を見せてください。参考にしたいと思います。
0122デフォルトの名無しさんNGNG
VC#でプロジェクトに対する操作で、項目の追加を選ぶと、クラスとか
フォームとかを追加できるんだけど。
あそこにオリジナルのテンプレートファイルを登録したりできないでしょうか。
フォルダ潜って元データの構造みたけど、なんか特別なパラメータとかファイル形式が
あるみたいで手が出せませんでした。ぐう。
0123デフォルトの名無しさんNGNG

だめだ、半日やったけどDataSetからXMLへXSLで変換させてから出力できなかった…

 どなたか成功している人がいたら教えて頂けないでしょうか。
 原因は、DataSetをXMLに変換するときに
 <DataSe2 xmlns="http://www.tempuri.org/DataSe2.xsd">
 こんなエレメントが入っていて、どうも名前空間を切り替えているのでXSLでの変換がこの内部へ
 及ばないかららしいです。 xmlnsのアトリビュートを削除すれば動くことは確認できています。
Qname設定されてないし、ユニバーサルネームで修飾してみたけどIEがエラーを出してきますた。
 完全に手詰まりです。

 間接変換がうまくいかないので、直接変換もやってみますた。
 開発者ガイドの「DataSet への XSLT 変換の適用」のサンプルを見ながら、手元にあるDBのスキーマ
 に変えてやってみたのですがどうも同じような挙動です。

 XMLスレのほうがよかったかな?          よろしくお願いします。
0124120NGNG
遅レスすまそ。

>>121
System.Windows.Forms.dllをildasmにかけてみ。
TextBoxBaseのMaxLengthプロパティからはじめて、
内部で呼んでいるメソッドを順に追っていく。
最後は、SendMessage関数を呼んでいるところに辿り着くが、
auto指定で呼び出してるんだわ。
auto指定で呼び出すってことは、NT系ではSendMessageWが呼ばれて、
9x系ではSendMessageAが呼ばれるってこと。

そのせいで、テキストボックスに入力できる量が、
NT系では文字数で制限、9x系ではバイト数で制限される。

ヘルプには、MaxLengthプロパティは文字数で制限するとあるが実際は上記の通り。
0125123NGNG
>>123
自己レスです、書き込んでまもなく解決しますた。

なんだ、頭の方で自分でQName設定して修飾してやればいいだけじゃん。
スマソ
0126山崎渉NGNG
(^^)
0127山崎渉NGNG
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
0128デフォルトの名無しさんNGNG
>>124
1.1で直った。
と遅レス
0129デフォルトの名無しさんNGNG
別にいいけど、ここでC#.NETの言語使用を語ってもどうしようもないよね。
0130デフォルトの名無しさんNGNG
始めてC#.netを使うド素人でつ。
webアプリでフレームを使用しているんですが、
同じ幅にしているにもかかわらず、見た目のセルのサイズが異なります。
なにか設定を間違っているのでしょうか?
0131デフォルトの名無しさんNGNG
C, VB, FORTRAN, ASMわかる、C++少々わかる人がVC#を始めます。
おすすめの本は?
0132デフォルトの名無しさんNGNG
>>131
Essential .NET
0133デフォルトの名無しさんNGNG
C#でASP.NETのWebApplicationを最近やりはじめたんですが
普通にWindowsアプリケーション作る要領でメッセージボックスを出そうと思ってもでません
名前空間が何とかかんとか、ってエラーが出て、、、
WebApplication側からメッセージボックス出すには、何か別のクラスを使わないといけないんですか?
0134デフォルトの名無しさんNGNG
>>133
そりゃWebとは何かを知らないと。

ttp://www.ailight.jp/ButtonJava.aspx
0135デフォルトの名無しさんNGNG
>>134
JavaScript使わなきゃできないよ、って意味ですか?
0136山崎 渉NGNG

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
0137デフォルトの名無しさんNGNG
webアプリのbuttonコントロールでポップアップwindowを出したいんですがやり方がわかりません…。
どなたか知ってたら教えてください。
ど素人の質問でスマソ
0138デフォルトの名無しさんNGNG
dataGridについての質問です。

dataGridに新しい行を追加して、その列に変数を初期値として渡したいのですが、
どうやればいいのでしょうか?
ヘルプを見ても難しくてわかりませんでした・・・
よろしくお願いします。
0139デフォルトの名無しさんNGNG
>>137
これ参考になるんでない?
http://www.atmarkit.co.jp/fdotnet/dotnettips/015confirm/confirm.html
0140137NGNG
>>139
アドバイスアリガト!(´▽`)
なんとかできました。
0141デフォルトの名無しさん NGNG
>ヘルプを見ても難しくてわかりませんでした・・・
どんな回答も、より難しいので永遠に理解不能....
0142デフォルトの名無しさんNGNG
VC# Standardでdllとかnetmoduleを作成したいのですが、
Standardではできないのでしょうか…。
このままだとプロジェクトが巨大な1個のexeファイルに
まとまってしまいます…。
0143デフォルトの名無しさんNGNG
VC#の限界が垣間見えますた。
0144デフォルトの名無しさんNGNG
>>142
書き換えればできる。
C#相談室かくだすれで既出。
0145142NGNG
<>144
見つかりました。ありがとん
0146山崎 渉NGNG
(^^)
0147デフォルトの名無しさんNGNG
とりあえずクライアントソフト泣かせの95&98は撲滅汁!!
あとNISは余計なことしなくていいんじゃー−−−−
いちいち対応できるかボケ!!

・・・ごめん、とりみだしました・・・
しかもVCに限った話しじゃないわな・・・
0148デフォルトの名無しさんNGNG
しかもここは#だった・・・
でもいいんだ・・・王様の耳はロバの耳−−−−−!!

・・・たびたびごめん、てんぱってます・・・
0149デフォルトの名無しさんNGNG
VC#でDLLを他の.NET以外のプラットフォームで読み込ませる方法ってあるでしょうか
またその場合、関数のエクスポート等はどうすればいいでしょうか
0150デフォルトの名無しさんNGNG
http://pc2.2ch.net/test/read.cgi/tech/1051842450/l50
の797以降を見れ
0151山崎 渉NGNG
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
■ このスレッドは過去ログ倉庫に格納されています