C#, C♯, C#相談室 Part71
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2012/03/24(土) 16:43:24.60C#, C♯, C#相談室 Part70
http://toro.2ch.net/test/read.cgi/tech/1327570969/
Visual Studio 2010 Express
http://www.microsoft.com/japan/msdn/vstudio/express/default.aspx
0554デフォルトの名無しさん
2012/04/28(土) 18:52:54.47生半可な気持ちで解答者になろうとするなよ
じゃ、これからはこういう姿勢で頼むわ
0555デフォルトの名無しさん
2012/04/28(土) 18:53:20.360556デフォルトの名無しさん
2012/04/28(土) 18:54:42.30IDないところでは、「誰かがそう言ってる」以上に考えちゃダメだよ。
0557デフォルトの名無しさん
2012/04/28(土) 18:55:57.090558デフォルトの名無しさん
2012/04/28(土) 18:58:16.350559デフォルトの名無しさん
2012/04/28(土) 19:00:38.85で、まともに会話しないためにはIDで判断できないから低レベルな質問には全無視するしかない
0560デフォルトの名無しさん
2012/04/28(土) 19:00:44.960561デフォルトの名無しさん
2012/04/28(土) 19:02:24.35か、丁寧に質問の形を成しているものにだけ答えるか。
IDがない以上、憐れな子羊と煽りを見分ける術がないから。
面倒に巻き込まれたくないなら、無視が正解だね。
0562デフォルトの名無しさん
2012/04/28(土) 19:04:06.58お願いします
VS 2010です
0563デフォルトの名無しさん
2012/04/28(土) 19:05:28.980564デフォルトの名無しさん
2012/04/28(土) 19:07:23.850565デフォルトの名無しさん
2012/04/28(土) 19:09:35.230566デフォルトの名無しさん
2012/04/28(土) 19:11:19.790567デフォルトの名無しさん
2012/04/28(土) 19:13:36.260568デフォルトの名無しさん
2012/04/28(土) 19:15:35.10WinFormならCheckedChangedだかで地道にやるしかないね
0569デフォルトの名無しさん
2012/04/28(土) 19:16:00.27OnPropertyChanged
データソース
データバインド
ApplicationSettings
Enum 静的メソッド
ここらへんをキーワードに調べれば、できると思う。
0570デフォルトの名無しさん
2012/04/28(土) 19:17:00.86その地道な部分の書き方がわからないんです
列挙の要素が10あると100通りのif文を書く方法しか思いつかなくて
0571デフォルトの名無しさん
2012/04/28(土) 19:19:01.73データバインドのやり方はわかります
列挙変数の値をチェック状態に反映、またはその逆のやり方がわからないんですよ
0572デフォルトの名無しさん
2012/04/28(土) 19:24:13.46列挙とは、列挙型のことだろうか。
だとしたら、こういうのはどうだ。
MainForm.cs
http://pastebin.com/r5JzbG3c
MainForm.Designer.cs
http://pastebin.com/GAKv4icY
EnumCheckBox.cs
http://pastebin.com/D8LLekFY
EnumCheckBox.Desiginer.cs
http://pastebin.com/sdE81qDU
0573デフォルトの名無しさん
2012/04/28(土) 19:26:12.51ともあれ、荒れる前に一案出せたようで何よりだ。
0574デフォルトの名無しさん
2012/04/28(土) 19:31:14.10Enumの列挙値を編集するコントロール。
データバインドするときは、Valueプロパティ指定しておけば、連動できるはず。
http://pastebin.com/6dvePwbS
まあ、これが良いやり方かどうかは、わからないけど。
何かスマートじゃない気もする(・・
0575デフォルトの名無しさん
2012/04/28(土) 19:32:51.560576572
2012/04/28(土) 19:56:56.25でも、やっぱり>>574の方がクールだな。
EnumCheckBox.cs
http://pastebin.com/VESiEDUq
MainForm.cs
http://pastebin.com/r5JzbG3c
MainForm.Designer.cs
http://pastebin.com/GAKv4icY
0577デフォルトの名無しさん
2012/04/28(土) 20:34:00.59それにしても仕事早いですね
汎用的で使い回しもできるし
コントロール自作したことなかったんで挑戦してみます
ありがとうございました
ちなみに自分の考えたコードはこれです
http://pastebin.com/mwKAYzah
0578デフォルトの名無しさん
2012/04/28(土) 21:07:23.84http://engawa.2ch.net/test/read.cgi/poverty/1335590644/
亀田製菓は韓国の企業「農心」との共同開発を行い、今秋から発売するという。また、農心の工場で菓子の生産技術や
レシピを提供し、農心の商品として販売するそうだ。
この発表以降、亀田製菓のブログに批判的な意見の書き込みが続出し、炎上状態に。最新の更新内容へのコメントは、
既に4000件を超えている。
(略)
http://www.tanteifile.com/watch/2012/04/28_01/image/01.jpg
http://www.tanteifile.com/watch/2012/04/28_01/image/02.jpg
主力商品「辛ラーメン」に、ネズミやゴキブリ等が混入していたことが報じられている。その結果、イギリスやドイツでは
輸入禁止になった。ウジ虫の混入が発覚した際のニュースの動画も出回っている。そのような企業と提携することに対して、
亀田製菓のモラルの欠如を指摘する声が多い。
http://www.tanteifile.com/watch/2012/04/28_01/image/03.jpg
さらに、アマゾンの同社製品へのレビューも、非難のコメントばかりになっている。「日本中で愛されてきたハッピーターンや
柿ピーのノウハウが盗まれ、『韓国起源』となる日も近いでしょう」、「昔ながらの『日本のおばあちゃん』が描かれた
このパッケージも目がつり上がった『オモニ』に替わる日が来るかも知れないなんて・・・亀田さんマジで勘弁して下さいよ・・・」
といった揶揄のコメントも目立つ。
http://www.tanteifile.com/watch/2012/04/28_01/image/04.jpg
炎上騒動の影響は、競合他社へも及んでいる。三幸製菓のブログには、同社を応援するという書き込みが相次いだ。
すると、ブログの担当者は「弊社では、韓国企業との技術提携は行っておらず、また今後そういった計画もございません。
今後も、お客様からご満足と信頼のいただける製品づくりを目指して取り組んで参ります」とコメントした。
http://www.tanteifile.com/watch/2012/04/28_01/image/05.jpg
亀田製菓に限らず、韓国と提携して菓子を製造している企業は多い。この騒動が、他社に飛び火する可能性も高そうだ。
http://www.tanteifile.com/watch/2012/04/28_01/index.html
0579デフォルトの名無しさん
2012/04/28(土) 21:23:15.540580デフォルトの名無しさん
2012/04/28(土) 21:43:22.82他にも教える人がいると、違う視点も見れたりして、かなり勉強になる。
精進精進。
0581デフォルトの名無しさん
2012/04/28(土) 21:45:39.110582デフォルトの名無しさん
2012/04/28(土) 21:52:47.22>>576みたいなコーディングが簡単にできるようになるには
一体何の知識が足りないの?
文法もひと通り覚えたし、2,30個は小規模アプリ作ったけど
>>576のようなコードが頭にパッと浮かばない
面倒だなと思いながらもわかりやすいからif文を重ねることになる
0583デフォルトの名無しさん
2012/04/28(土) 21:55:54.06>列挙の要素が10あると100通りのif文を書く方法しか思いつかなくて
列挙の要素が10あると2^10通りのif文を書く方法しか思いつかなくて
の間違いじゃね?
0584デフォルトの名無しさん
2012/04/28(土) 21:59:46.49だろ。
0585デフォルトの名無しさん
2012/04/28(土) 22:03:59.12んー、そうだなあ。
if文を減らすため、ていう単独の目的なら、常に「列挙できないか」という視点を持って見ると良いかも。
今回ので言えば、俺ももう一人の人も、Enum.GetValuesとか、Type.GetEnumValuesとか、
列挙体(enum)を列挙(IEnumerableとして取得)して、実現させてるでしょう?
C#の一つの方向性として、IEnumerableの活用ってのはそれなりに熱いし、
Microsoftもある程度注力しているから、そこは大事かな。
全体的なスキルの向上に関しては、目的に従って検索したら、
たとえ目的に合わない様な検索結果でも、とりあえず理解出来ないかトライするってのが良いと思う。
懇切丁寧に教えてくれる人が身近にいないなら、自分で自分にムチを打つしかない。
あとは、MSDNの「クラス一覧」みたいなのを、片っ端から読んでみるのも面白いよ。
どうしても分からない事があったら、こういうところで聞くのもあり。
ただ、最初の内は自分が思っている以上に人に伝わる質問が出来ないもの。
可能なら最初から自分のソースコードを可能な限り広い範囲で晒してみるのが良いと思うよ。
0586デフォルトの名無しさん
2012/04/28(土) 22:06:15.31「質問するのに必要なのはここだけだろう」とソースをごく狭い一部分だけ切り出すんじゃなくて、
関連しそうな部分は「可能な限り」全部晒す、ということなので念為
0587デフォルトの名無しさん
2012/04/28(土) 22:09:48.03毎回、if〜で判定して…とか面倒だ↓
汎用的に使えるようにリフレクションとか使えば、できそうだ。
するとどうだろう、毎回if〜で判定してチェックボックス設置してという作業から
ユーザーコントロールひとつ設置して型を登録するだけとお手軽になる。
2,MSDNなり、インテリセンスなり調べる。気になるクラスのメタデータをF12(定義に移動)で
見てみるだけでも良い。何か使えそうなプロパティなりメソッドがあれば、それがヒント。
0588デフォルトの名無しさん
2012/04/28(土) 22:15:47.39ソース自体は全然悪くないと思うよ。今回みたいに、目的が限られているならこれで十分だと思う。
逆に、自分が晒したみたいなソースコードは、時によっては忌避されるべきこともある。
(何でもかんでもリフレクション、なんでもかんでもforeachすりゃ良いってもんでもない)
最初は素直に、こういう風に組んでみるのは全然良いことだと思う。
「一体どこで何が行われるべきなのか」っていうことを知るためには、if文と単純ループだけで作るのが一番大事な基礎だと思うし。
逆に、そういう段階を踏まないと、「なんだ、こんな便利なものがあるのか」と道具頼りで、いざ道具が無い場面に遭遇した時に何も出来ないただのお馬鹿になってしまう。
そこから脱却したい、という話なので、>>585のようなことを考えなきゃいけないね、ということ。
それに、毎回毎回似たようなコードを書くのも面倒臭い、となれば>>587の言うとおり、後で楽するために今苦しむ、というスタンスで行くことになる。
0589デフォルトの名無しさん
2012/04/28(土) 22:19:52.08今回は、リフレクションと列挙体の知識が足りなかったということで勉強になりました
0590デフォルトの名無しさん
2012/04/28(土) 22:21:44.12そうなあ。MSDNの日本語の難解さは異常。
長い時間はかかるけど、いずれ慣れるよ。
俺もWPFの勉強にMSDNと格闘、七転八倒してるところだから頑張ろうじゃないか。
0591デフォルトの名無しさん
2012/04/28(土) 22:22:17.240592デフォルトの名無しさん
2012/04/28(土) 22:24:43.51MSDN見て?が頭の上に3つ浮かびそうになったら、他にわかりやすいところないか
ググる。それでもないならMSDNを解読するしかない。
0593デフォルトの名無しさん
2012/04/28(土) 22:26:09.540594デフォルトの名無しさん
2012/04/28(土) 22:27:05.880595デフォルトの名無しさん
2012/04/28(土) 22:28:25.100596デフォルトの名無しさん
2012/04/28(土) 22:29:21.92ハイパーリンクの偉大さはあるけど。
あと、場合によっては英語で直読みした方が捗る。
0597デフォルトの名無しさん
2012/04/28(土) 22:30:37.75それとも「余所でやれ」と投げ出すかで色々変わる。
スレ違いの話題は忌避されるべきだけど。
0598デフォルトの名無しさん
2012/04/28(土) 22:33:21.41横文字が専門用語のことを言っているのか、英会話の一般的なニュアンスなのか
ここがごちゃごちゃになっているから理解に苦しむ
0599デフォルトの名無しさん
2012/04/28(土) 22:35:17.25だからこそ、HTMLにも色んな要素があるわけだ。
専門用語のことを言っている箇所はそれなりの要素に納めて、
ブラウザはそれを斜体表示するとか。
0600デフォルトの名無しさん
2012/04/28(土) 22:35:57.28既述が分かりにくいという批判はちょっと違うと思う。
0601デフォルトの名無しさん
2012/04/28(土) 22:38:48.98文脈依存だから単語で見るとわからない。
自分は、単語AとBが出てきたら頭の中でフュージョンしたり分離したりしてる。
とりあえず、英単語はプリミティブまで分解して考えないとムズいかしいと自分は思っている。
あと、外国はぶらっくじょーくが起源になってたりするからその可能性も考慮しないといけないような気がする。
0602デフォルトの名無しさん
2012/04/28(土) 22:41:18.93コラム的な書きっぷりのページは、確かに向こうの文化とかも押さえておかないと面食らうことがあるな。
重要なこと言ってるかのように見えて、読み終えてみるとたんなる前口上だったりとか。
0603デフォルトの名無しさん
2012/04/28(土) 22:44:16.74台湾にして繁体字な漢文に設定して読めばめっちゃ読み易くなるよ?
0604デフォルトの名無しさん
2012/04/28(土) 22:45:05.98台湾人愛してる
0605デフォルトの名無しさん
2012/04/28(土) 22:47:44.590606デフォルトの名無しさん
2012/04/28(土) 22:51:58.10確かに。リフレクションなんてカタカナにするから駄目なんだよな。
漢は黙って「Reflection」=「反映」だな。
0607デフォルトの名無しさん
2012/04/28(土) 22:53:41.98次のコード例では、各クラスの複数のオブジェクトを作成し、メソッドはそれらを比較するのEqualsの使用方法を示して、二つのパラメータのカスタムAttributeクラスを定義します。
Attribute.Equals メソッド (System)
http://msdn.microsoft.com/ja-jp/library/09ds241w.aspx
0608デフォルトの名無しさん
2012/04/28(土) 23:02:13.43なぜ短く端的に表現できないのか
0609デフォルトの名無しさん
2012/04/28(土) 23:04:12.610610デフォルトの名無しさん
2012/04/28(土) 23:05:18.180611デフォルトの名無しさん
2012/04/28(土) 23:14:38.330612デフォルトの名無しさん
2012/04/28(土) 23:16:29.92あれのせいでMSDN読む気が起きなくなった。
ちょっとコピーしようとしたら、ポップアップが邪魔しやがる。
0613デフォルトの名無しさん
2012/04/28(土) 23:19:04.85公 階層 属性先引数:属性
{
///これは属性の構築です。
公 属性先引数(文字列 目標文章)
{
これ.目標文章 = 目標文章;
}
//目標文章は、属性文章のための記憶装置です。
保護 文字列 目標文章;
//基本が生成するものに文章を追加するには、文字列に変換()を上書きします。
公 上書き 文字列 文字列に変換()
{
戻り値 基本.文字列に変換()+":"+目標文章;
}
}
0614デフォルトの名無しさん
2012/04/28(土) 23:19:56.33俺はGoogleのインスタントプレビューは鬱陶しいだけだと思うけど、
MSDNの原文表示は別に鬱陶しいと思わないけどな
0615デフォルトの名無しさん
2012/04/28(土) 23:23:36.17もうそこまでいったら、なでしこでやれww
0616デフォルトの名無しさん
2012/04/28(土) 23:30:10.20和製英語ももちろんダメだからな
0617デフォルトの名無しさん
2012/04/28(土) 23:34:38.47メール欄にsageって書いてるぞ
0618デフォルトの名無しさん
2012/04/29(日) 00:09:54.64釦押下時に「こんにちわ、世界」という声明を窓で表示するにはどうしたらよいのでしょうか?
0619デフォルトの名無しさん
2012/04/29(日) 00:24:34.42ああ、そうか、日本語と横文字で単なる文章とそうでないものの見分けが付くから分かりやすいんだな、と。
0620デフォルトの名無しさん
2012/04/29(日) 00:26:26.140621デフォルトの名無しさん
2012/04/29(日) 00:29:13.10C#
オススメはせんけどな。
0622デフォルトの名無しさん
2012/04/29(日) 02:11:56.72>>574
どちらも型をまず登録しなければいけないんだけど
そういう場合はコンストラクタを使ったほうがいいと思うんだけど
それをしなかったのはなぜですか?
あと~の意味はなんですか?ぐぐっても出てこない
this.value & ~changedFlag
0623デフォルトの名無しさん
2012/04/29(日) 02:13:49.501の補数
0624デフォルトの名無しさん
2012/04/29(日) 02:22:55.00確かにこういう場合はコンストラクタを使いたいんだけど、
UserControlのコンストラクタに引数を設定してしまうと、
デザイナで貼り付けられないからだね。
this.value & ~changedFlagは、
this.value と changedFlag の(1の)補数のビット論理積を求めている。
この場合、changedFlag で指定されたフラグを、this.value から解除するためにこうしてる。
参考�@:http://yas-hummingbird.blogspot.jp/2009/02/c_11.html
参考�A:http://ufcpp.net/study/csharp/st_operator.html
参考�B:http://no23.xrea.jp/learning/cs/cs0207Operator4.html
0625デフォルトの名無しさん
2012/04/29(日) 02:31:26.79やっぱりFlagsAttribute付きのenumはちと使いにくいな。
boolをいっぱい持ったclassなりstructの方が使いやすいと感じる。
0626デフォルトの名無しさん
2012/04/29(日) 02:38:47.16>>624
ありがとう
0627デフォルトの名無しさん
2012/04/29(日) 02:45:19.86今までは拡張メソッド作ってたけど、知らんかった。
どうせなら演算もビット演算じゃなくてちゃんとメソッドで定義してくれればいいのに。
static Enum Off(this Enum value, Enum flag)とか
static Enum On(this Enum value, Enum flag)とか作ればいんだろけど、
value.GetType().GetEnumUnderlyingType()して・・・とか考えるとおっくうだなあ。
0628デフォルトの名無しさん
2012/04/29(日) 02:49:22.980629デフォルトの名無しさん
2012/04/29(日) 02:50:32.480630デフォルトの名無しさん
2012/04/29(日) 05:13:54.85資産が何もない状態と仮定して
UMLなどのクラス設計?
いきなりGUIを作成?
抽象クラスを大量に作成する?
Consoleアプリでテストも兼ねて実装から書く?
0631デフォルトの名無しさん
2012/04/29(日) 05:48:21.220632デフォルトの名無しさん
2012/04/29(日) 05:55:39.83どうしたら手に入るか分からない。。。誰か助けてくれい
0633632
2012/04/29(日) 07:08:56.16そうか・・・BindingContextってこうやって使うんだな・・・
0634デフォルトの名無しさん
2012/04/29(日) 07:14:50.45Consoleとdllで2つプロジェクトを作ってモデルの実装と
実験コードの実装を並行して行う。
0635デフォルトの名無しさん
2012/04/29(日) 07:29:04.69・未だにwebAPIを用意しないで昔ながらの差分取得させてる糞仕様に対応した通信系
・糞BEなどを排除しろと五月蝿いキチ対応のための絞込み機能とテキスト検索
・この辺のUIは横へもってこいや!とネットチンピラ対応の柔軟なUI設計
くらいじゃないの?
大まかに分けると
0636デフォルトの名無しさん
2012/04/29(日) 07:41:37.24自民党政府は、日本近海の海底にメタンハイドレートやレアメタルなどの海底資源の存在が確認されたことから、
平成20年11月に7海域(計約74万平方キロ)で大陸棚の延伸を申請していた。
200カイリを超えて海底資源の権益を主張できる大陸棚の拡大について、政府は27日、国連の大陸棚限界委員会が
日本の国土面積の約8割に相当する計31万平方キロの拡大を認める勧告を採択したと発表した。日本が同委員会の勧告を受けるのは初めて。
沖ノ鳥島をめぐっては、中国と韓国が「岩であり大陸棚は設定できない」と反発していたが、
国連の大陸棚限界委員会は日本の大陸棚の拡大を認定した。
http://sankei.jp.msn.com/science/news/120428/scn12042808010001-n1.htm
∧_∧
三 (´Д`) _○_
三/ \/| |
∩ / /| |_| 勝 |
||||| | | |
||ニヒO ヽ \| | 訴 |
∪ /\ ヽ |__|
三 / /| |
三 /_/ | |
\_) (__)
0637デフォルトの名無しさん
2012/04/29(日) 09:33:31.66dynamicで楽々実装
0638デフォルトの名無しさん
2012/04/29(日) 12:09:57.59いまさら2chブラウザなんて作ってみようなんてくらい酔狂なんだから
そのくらい屁でもないだろ
0639デフォルトの名無しさん
2012/04/29(日) 12:39:46.710640デフォルトの名無しさん
2012/04/29(日) 12:47:13.510641デフォルトの名無しさん
2012/04/29(日) 18:44:47.80それとも、起動時にすべて翻訳してるんですか?
0642デフォルトの名無しさん
2012/04/29(日) 18:58:28.320643デフォルトの名無しさん
2012/04/29(日) 19:01:11.50まずは、JIT の意味を調べてから質問しようよ。
0644デフォルトの名無しさん
2012/04/29(日) 19:02:40.06非同期処理でも一行づつだと思うか?
0645デフォルトの名無しさん
2012/04/29(日) 19:05:37.06http://ufcpp.net/study/dotnet/il_about.html
に、「コンパイルしながら実行されます」とあるんで1行1行やってるんでは?
たしかに遅いわけだw
0646デフォルトの名無しさん
2012/04/29(日) 19:18:24.48クラス単位とか、ある程度の区切りでコンパイルされてると思う。
詳しいことは、知らないけど。
0647デフォルトの名無しさん
2012/04/29(日) 19:18:40.56JITはメソッド単位。
始めた呼んだメソッドがあったら、そこで全部ネイティブ化して、以降は直接ネイティブコード実行。
0648デフォルトの名無しさん
2012/04/29(日) 19:29:41.860649デフォルトの名無しさん
2012/04/29(日) 19:33:36.80毎回コンパイルするわけではなく、必要となったときに部分的にネイティブコードに変換して
キャッシュしてるのでは?
0650デフォルトの名無しさん
2012/04/29(日) 19:48:13.81ユーザーコントロールを作成して MouseClick イベントの処理を行うとしていますが、
ユーザーコントロール内にあるラベルの上をクリックすると
ラベルに邪魔されて MouseClick イベントが発生しません。
ラベルの上かどうかを気にせず MouseClick イベントを発生させるには
どのようにするのが一番でしょうか?
ラベルの MouseClick イベントで OnMouseClick を呼ぶ方法を試してみましたが、
ラベルの上でマウスボタンを押して
ラベルから外れた(同ユーザーコントロール上の)位置でマウスボタンを離すと
MouseClick イベントが処理されないため(逆も同様)、
いい加減にクリックしてるとたまに反応しません
0651デフォルトの名無しさん
2012/04/29(日) 19:53:01.62C# via CLSって本で解説されてたけど、内容は忘れたw
0652デフォルトの名無しさん
2012/04/29(日) 19:54:01.59ラベル程度なら使わない方がいいんじゃないの
ユーザーコントロールのOnPaintでDrawStringやDrawText使って文字列描画してあげたらどう
0653デフォルトの名無しさん
2012/04/29(日) 19:55:12.18クリックイベントは子コントロールから伝達される
設定さえしていれば
0654デフォルトの名無しさん
2012/04/29(日) 20:09:43.92GUI で位置調整しづらいので、直接描画は最後の手段にしたいなあ・・・と
ネイティブだと子コントロールをスルーして親にイベントを送るようなフラグがあったような記憶があって、
C# でもそれがあればと思ってます
>>653
見る限りそれらしいものが見つからないです・・・
■ このスレッドは過去ログ倉庫に格納されています