C♯相談室 Part10
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん♯
NGNG(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。
過去スレは>>2-5あたり。
関連リンク
http://onigiri.s3.xrea.com:8080/csharp/index.php?%5B%5B%A5%EA%A5%F3%A5%AF%5D%5D
0153デフォルトの名無しさん
NGNGListBox1を取得した位置に表示するにはどうしたらいいのかな?
ほんと低級ですみませんが教えてください
0154デフォルトの名無しさん
NGNG上位クラスのメソッドをオーバライドし、下位のクラスも存在する可能性を
持たせるには、この 2 つの修飾子が必要になるような気がするのです。
0155デフォルトの名無しさん
NGNG0156デフォルトの名無しさん
NGNG0157デフォルトの名無しさん
NGNG0158デフォルトの名無しさん
NGNGttp://download.microsoft.com/download/a/b/d/abd115c6-a96e-4d8d-b7de-9480deb6cd5c/CLRProfiler.EXE
0159デフォルトの名無しさん
NGNG0160デフォルトの名無しさん
NGNG結果おせーて
0161デフォルトの名無しさん
NGNG0162デフォルトの名無しさん
NGNGヘルプでメソッド一覧を眺めてみ。希望のもんあるから。
0163デフォルトの名無しさん
NGNGhttp://nyamco.ath.cx/nyamco/src/091.png
Hello::Mainのコストなんてかわいいもんでしょ。
0164デフォルトの名無しさん
NGNGSave();で二度目にセーブするとエラーがでるのですが
使用中と言うことででてしまうのでしょうか?
何かcloseとかで閉じなければいけないのでしょうか?
よろしくお願いいたします
0165154
NGNG下位クラスにメソッドのオーバライドを許すには、virtuel 修飾子が必要ってことは、
上位クラスのメソッドをオーバライドして、かつ、下位クラスにもメソッドのオーバライドを
ゆするには、virtual と override の両方を、1つのメソッドの修飾子として書かなきゃならない、
と言うことで合ってますか?
こういう情報は、どこに書いてあるのだろう・・・。
Java の JLS くらい厳密に書いてある言語仕様って、C#には存在しないのかなぁ・・・。
0166154
NGNGStandard ECMA-334
C# Language Specification
2nd edition (December 2002)
http://www.ecma-international.org/publications/standards/ecma-334.htm
0167154
NGNGどなたか override しつつ、override されるメソッドの書き方教えてください。
0168デフォルトの名無しさん
NGNGclass Class1 {
virtual void A() {}
}
class Class2 : Class1 {
override void A() {}
}
class Class3 : Class2 {
override void A() {}
}
でいいんじゃないの?
0169154
NGNGちゅうことは、Class2 で宣言されているメソッド A() は、
virtual という修飾子が存在していないにもかかわらず、
仮想メソッドである、ちゅうことかね?
あるいは、Class3 で宣言されているメソッド A() が
オーバライドしているメソッドは、非仮想メソッドである、
(override 修飾子が付けられたメソッドは、非仮想メソッドをもオーバライドすることができる)、
ちゅうことかいな?
あるいはあるいは、
Class3 で宣言されているメソッド A() がオーバライドしているのは、
Class1 で宣言されているメソッド A() である。ってことか。
3つ目のは半分冗談だけど、いったいどれやねん。w
0170デフォルトの名無しさん
NGNG単純に考えて。
overrideは元のクラスでvirtualのメソッドがあるということ。
元のクラスにvirtualのメソッドが無ければエラーになる。
0171154
NGNG> overrideは元のクラスでvirtualのメソッドがあるということ。
virtual は、そのメソッドを仮想メソッドにする修飾子で、
virtual が含まれていないメソッドは、非仮想メソッドですから。
かつ、
override と、 virtual は同時に使えない。
んで、C# では非仮想メソッドのオーバーライドはできない。
ってことは、C#では、あるメソッドのオーバライドの回数は、たった1回に限られる、
言い換えれば、オーバライドされたメソッドはオーバライドできない、
ってことになりませんか?(笑)
0172デフォルトの名無しさん
NGNGMethodInfo method = type.GetMethod("Test");
Console.WriteLine("IsVirtual = " + method.IsVirtual);
ちゃんとClass2.Test()もvirtualと出る
0173154
NGNGありがとう。
ってことは、
インスタンス メソッドの宣言に virtual 修飾子が含まれる場合、
そのメソッドは仮想メソッドと言います。virtual 修飾子が存在しない場合、
そのメソッドは非仮想メソッドと言います。
っていう仕様の記述が間違っているか、
>>172 さんの処理系がバグっている、ということですね。
0174デフォルトの名無しさん
NGNG処理系がどうのって、、、C#.NETでコンパイルしたんだよ。
というか、MSに聞いた方が早いんじゃない?
0175デフォルトの名無しさん
NGNG何が問題なのかよくわからないんだけれど・・・。
どこかにoverrideできるのは直系の派生クラスに限るなんて記述でもあるわけ?
168のソースで言えばClass3のA()はClass1のA()をoverrideしてるわけだから
仕様通りでしょ?
0176デフォルトの名無しさん
NGNG>非仮想メソッドまたは静的メソッドのオーバーライドはできません。
>オーバーライドされる基本メソッドは、仮想メソッド、抽象メソッド、またはオーバーライド メソッドのいずれかである必要があります。
0177デフォルトの名無しさん
NGNGclass Class1 {
virtual void A() {}
}
class Class2 : Class1 {
override void A() {} // この中に非常に重要で絶対にoverrideしてはいけないコードが書かれている
}
class Class3 : Class2 {
override void A() {} // しかしC#の仕様ではこれを禁止することが出来ない?
}
0178デフォルトの名無しさん
NGNGClass2で sealed override するよろし。
0179デフォルトの名無しさん
NGNG0180デフォルトの名無しさん
NGNGの
private void button1_Click(object sender, System.EventArgs e)
{
string s = "unknown button";
if( sender == button1 )
{
s = "button1";
}
else if( sender == button2 )
{
s = "button2";
}
MessageBox.Show( "You pressed: " + s );
}
を switch におきかえたいのですが、
switch (sender)
{
case button1:
s = "button1";
break;
case button2:
s = "button2":
break;
}
switch (sender) の部分で "整数型の値が必要です。" とエラーになってしまいます。
どうして置きかえられないのかわかりません。アドバイス願えませんか?
0181デフォルトの名無しさん
NGNGcase の式はコンパイル時に決まってなければいけないから
定数か文字列リテラルしか使用出来ない
結果switchの式も数値か文字列しか指定出来ない
0182デフォルトの名無しさん
NGNGメソッドはどこかにありますか?
0183デフォルトの名無しさん
NGNG変えたいのは s の内容だけ?
なら、キーが Button で値が string の Hashtable でも作れば?
Hashtable table = new Hashtable();
table[button1] = "button1";
table[button2] = "button2";
string s = (string)table[sender];
>>182
そういう Win32 プラットフォーム限定な機能はないと思う。
素直に shell32.dll 呼び出すべし。
0184デフォルトの名無しさん
NGNGその後、その構造体のメンバの構造体のフィールドに値を設定したいのですが
どうもうまくいきません。こんな感じにしたいのですが…
どなたか教えてください。
private struct itemA
{
public int a;
public itemB itemb;
}
private struct itemB
{
public int abc;
public int bcd;
}
ArrayList arrList = new ArrayList();
arrList.add(itemA);
((itemA)arrList[0]).itemb.abc = 5;
0185100人に1人
NGNG<アスペルガー症候群(自閉症スペクトラム)←脳の機能的疾患(遺伝が要因)>
●変化を嫌う
http://web.kyoto-inet.or.jp/org/atoz3/kado/book1/Williams-Asp.htm
●接し方のルールがわからず無邪気に周囲の人に対して迷惑なことをしてしまうことがある。人を傷つけるということには鈍感(相手の立場に立って考えられない)。
●パターン的行動、生真面目すぎて融通が利かない
毎朝の通学電車では同じホームの同じ場所から、同じ時間の同じ号車に乗ることに決めていたりする。パターンを好むということは反復を厭わないことでもある。
●アスペルガー症候群の子どもは(大人も)感覚刺激に対して敏感。敏感さは聴覚、視覚、味覚、嗅覚、温痛覚などのいずれの感覚の敏感さもありえる(特に視覚が敏感)。
●アスペルガー症候群の子ども(大人も)は予測できないことや変化に対して苦痛を感じることが多い。
http://www.autism.jp/l-02-03-aspe3.htm
●独り言を言うことが多い(考えていることを口に出す)
●物事をいつまでも同じにしておこうとする欲求が強く、そうでないと非常に不安。いわゆる「こだわり」。
●自発的に行動することが少なく、興味の幅が狭い
●物まねをしているような不自然な言語表現
●自閉症スペクトラム全体としては一万人に91人(およそ100人に1人)。
http://www.ypdc.net/asuperugar.htm
★自閉症スペクトラムの考え方(アスペルガーに至らない気質の偏りもある(遺伝性))
http://www.imaizumi-web.com/030413.html
★アスペルガー症候群(自閉症スペクトラム)かどうかのテスト
http://twitwi.s10.xrea.com/psy/add.htm
http://www.geocities.co.jp/Beautycare/5917/as/marksheetmake.html
0186デフォルトの名無しさん
NGNGhttp://www.activewin.com/interviews/microsoft/28.shtml
0187デフォルトの名無しさん
NGNG無理なのでitemAをクラスにする
0188_
NGNGどなたかご存じないでしょか・・
0189デフォルトの名無しさん
NGNGそれらを行なう便利な関数は用意されていますか?
それとも、自作? 御存知の方、よろしくおねがいします。
0190デフォルトの名無しさん
NGNG.NETクラス名でCreateObjectできるよ。
>>189
System.Mathはどうよ?
0191デフォルトの名無しさん
NGNGSet Xml = CreateObject("System.Xml.XmlDocument")
出来ないよ?
0192デフォルトの名無しさん
NGNGごめん。regasmされてないから駄目だった。
0193デフォルトの名無しさん
NGNGhttp://blogs.gotdotnet.com/suzcook/
0194_
NGNGこの「ごめん」は
・regasmされていない → regasmすればできる
の意味なのか
・regasmされていない = できない
の意味なのか分からないですが、
言葉が足りなかったようで、
.NetのメソッドとSystem.Xml.*クラスを戻り値・引数として
やりとりできるか聞きたかったんですが、、だめっぽいですね。
0195デフォルトの名無しさん
NGNG>・regasmされていない → regasmすればできる
>の意味なのか
試せば結果でるじゃん。
0197デフォルトの名無しさん
NGNGVBAならこっちで十分じゃね?
0198デフォルトの名無しさん
NGNGregasmがそもそも出来ないね。
つーことで、素直にMSXML使うのが吉。
0199デフォルトの名無しさん
NGNG0200デフォルトの名無しさん
NGNGあれ?前に4.0とか出てなかったっけ?
あれもLEVEL1なの?
0201_
NGNGtlbimp System.Xml.dll /out:hoghoge.dll
regasm hogehoge.dll
ということになるんだけど・・
既存のC#DLLがXmlNodeListとかを返すから
なんとか互換性がないかと思って実験中・・
MSXMLを使おうとすると、C#側を全部書き換えないと
いけないんだよなぁ・・鬱
0202デフォルトの名無しさん
NGNGhttp://www.asp.net/webmatrix/Default.aspx?tabindex=0&tabid=1
0203デフォルトの名無しさん
NGNGおー、早速ダウソ。
って日本語版SDKより早かったか。(w
0204デフォルトの名無しさん
NGNGどんどん常用してるManagedアプリが増えてますな。ヽ(´ー`)ノ
0205デフォルトの名無しさん
NGNG・例のencodingエラーが出なくなった
・HTMLエディタのWYSWYG強化(VS.NETより強力?)
・オブジェクトブラウザが強化
・DBにAccessが使える
・それでいて軽さはそのまま
0206デフォルトの名無しさん
NGNG0207デフォルトの名無しさん
NGNG#Developの初期にもそんなバグがあったような
0208デフォルトの名無しさん
NGNG0209デフォルトの名無しさん
NGNGいや、一応LEVEL2(の、機能)にも対応してるよ。
なんかインターフェースとかむちゃくちゃだけど。
きっと下位互換性保つ為に名前変えれないんだよ今更。
まあ、今更MSXMLを発展させられるよりframeworkのXMLクラス
発展させてって欲しいのでMSXMLはもう止まってていいけど。
0210デフォルトの名無しさん
NGNGしかしOffice2003でバージョンアップしたりするんだな。MSXML。
0211デフォルトの名無しさん
NGNGがーん。ていうことはあのさんざ宣伝してるXML関連の機能は全部MSXML
利用で実現してるのか。
まあ、いきなりOfficeをframeworkで書きなおしてくれなんて無茶な話
か。
せめて2003の次はframeworkで作って欲しい。え?重いから駄目?
0212デフォルトの名無しさん
NGNGって入ってるとして、DataAdapter使ってDataSetにFillするとデータが
"hoge______"("_"はスペースの意味)と固定長分スペースで埋めてデータを取得します。
このスペースとりたいんだけどDataAdapterのSelectCommandのクエリ内で
RTRIMとかしてやるしか方法はないのでしょうか?
結構たくさん固定長のデータがあるのでうまい方法はないかと...
0213デフォルトの名無しさん
NGNG昔から固定長フィールドはそういうものだよ。
String#Trim()とかは?
0214212
NGNGなるほど。DataSetに入れてからTrimするってことですよね?
0215213
NGNGDataSet使うこと考えると、SQLでTrimしておいた方が、楽そうだね。
0216212
NGNGSQLのクエリで解決してみます。
0217デフォルトの名無しさん
NGNGグループ化できないのね。
レスつけてやろうと思ったけど出来ねーYO!>オレ
0218デフォルトの名無しさん
NGNGprivate ArrayList m_aryTest = new ArrayList();
// 構造体定義
private struct typeTest
{
public intvalA;
public intvalB;
}
m_aryTest.Add(_typeTest);
とした後で、
((typeTest)m_aryTest[0]).valB = 123;
みたいな事ってできないですか?
代入色の左辺には変数、プロパティ、またはインデクサを指定してください。
とエラーになります。
構造体をアレイリストにつっこんだ後に値を変更するにはどうすればよいのでしょう?
0219デフォルトの名無しさん
NGNGboxingについて勉強してください
0220218
NGNGボクシング/アンボクシングについて調べてみましたが、
それらを行なう必要があるのは 右辺 ですよね?
object o = (int)valA や int valA = (int)o のように
するのが、ボクシング/アンボクシングで、
値型の変数をボクシングして、参照型オブジェクトして使いたい場合や
その逆って事ですよね?
((typeTest)m_aryTest[0]).valB = (int)123;
試しにのようにやってみましたが、やはりコンパイルエラーが
でてしまいます。
もう少し、アドバイス頂けたらうれしいです。
0221デフォルトの名無しさん
NGNGこれがアンボクシングに見えないということですか?
0222218
NGNG参照型の ArrayList を 構造体(値型)への
アンボクシングになるんですね。
実のところ、参照型とか値型とか曖昧なまま、組んでました。
とはいえ、まだ解決できるところまで理解が進んでいませんが(^_^;;
精進します。。。
0223デフォルトの名無しさん
NGNG0224デフォルトの名無しさん
NGNG勉強不足で申しわけない、情けないのですが、
ここで 構造体をクラスにすると、何がどう変わってどういうメリット
が出るのかわかりません。
どこか参考にできるような情報、サイトがあれば教えて頂け
ないでしょうか?
0225デフォルトの名無しさん
NGNGができるようになります
0226デフォルトの名無しさん
NGNG0227デフォルトの名無しさん
NGNGhttp://endou.kir.jp/moe/linkvp.html
0228デフォルトの名無しさん
NGNG0229デフォルトの名無しさん
NGNGプロファイラの使い方とかを詳しく書いてある「日本語」のページってないですかぁ?
0230デフォルトの名無しさん
NGNG日本語は見たことないなあ。
ちなみに>>158はかなりいいよ。
0232デフォルトの名無しさん
NGNG.NET Framework SDK Version 1.1
http://www.microsoft.com/downloads/details.aspx?FamilyId=9B3A2CA6-3647-4070-9F41-A333C6B9181D&displaylang=ja
0233デフォルトの名無しさん
NGNGlistviewでクリックした行、列、データの取り出し方法を教えてください。
0234デフォルトの名無しさん
NGNGListViewは列単位でしか選択できないのでは?
とりあえずSelectedIndexChangedイベントとSelectedItemsプロパティでも見れ。
0235デフォルトの名無しさん
NGNG× 列単位
○ 行単位
0236デフォルトの名無しさん
NGNGhttp://www.zdnet.co.jp/news/0006/27/msc.html
0237デフォルトの名無しさん
NGNGありがとうございます。
idx = this.listView1.SelectedItems[0].Index;
dtext = this.listView1.Items[idx].SubItems[5].Text;
0238デフォルトの名無しさん
NGNGいやあ、バカをしてしまいました。
dtext = this.listView1.SelectedItems[0].SubItems[5].Text;
0239デフォルトの名無しさん
NGNGファイル名は固定ですか?
たとえば、2つ用意して切り替えるとかできませんか?
0240デフォルトの名無しさん
NGNGhttp://bpstore.nikkeibp.co.jp/item/main/148910036850.html
つーか、監訳吉松さんだったの?
豊田さんという話をどっかのスレで見た記憶が・・・。
0241デフォルトの名無しさん
NGNGえ?とっくに公開していたんじゃなかった?
0242デフォルトの名無しさん
NGNGそうなの?
redistはかなり前から出てたけど、SDKは見てなかったよ。
0243デフォルトの名無しさん
NGNG0244デフォルトの名無しさん
NGNG0245デフォルトの名無しさん
NGNG違い教えて。
0246デフォルトの名無しさん
NGNGhttp://www.microsoft.com/resources/practices/completelist.asp
0247デフォルトの名無しさん
NGNG書評
Don Boxが解き明かす共通言語ランタイムの仕組み
http://www.atmarkit.co.jp/fdotnet/bookreview/essential_net/essential_net.html
また自分で書評書いてるw
0248デフォルトの名無しさん
NGNG0249デフォルトの名無しさん
NGNG名札
0250デフォルトの名無しさん
NGNG0251デフォルトの名無しさん
NGNGあらかじめCommandTextプロパティにSQL文をセットすると思うのですが、
検索条件をフォームに入力し、指定された条件で検索したいと思っていますが、
やり方がわからなくて困っています。
というのは本来コマンドテキストには
SELECT * FROM TABLE_NAME WHERE IDNO=? AND TITLE=?
のように予めパラメータとなりえる「?」などを埋め込んでおくようなことを
本で読んだのですが、
これだと、検索条件の個数が毎回変る場合などに対応できなくなります。
if文などでテキストボックスの一つ一つに対して入力されているかを判断し、
sql文を文字列として作成後、コマンドテキストにそのままセット->検索
の流れだと従来とあまり変らないような気もします。
そこで私が知らないだけで動的に検索項目が変る場合でもうまく
OleDbCommandオブジェクトとParameterオブジェクトを使用して
検索できるのではないか、と思っています。
どうでしょうか?
よろしくお願いします。
0252デフォルトの名無しさん
NGNG%s とか %d の進歩した奴
■ このスレッドは過去ログ倉庫に格納されています