ふらっとVisual C#,C♯,C#(初心者用) Part109
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2013/11/28(木) 11:27:54.20他のスレッドでは書き込めないような低レベルな質問。
質問者自身なんだか意味がよく分からない質問。
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められることがあります、ご了承下さい。
なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっとVisual C#,C♯,C#(初心者用) Part108
http://toro.2ch.net/test/read.cgi/tech/1383867970/
■関連スレ
C#, C♯, C#相談室 Part81
http://toro.2ch.net/test/read.cgi/tech/1381134494/
■コード貼るなら↓使ってください
http://ideone.com/
0153デフォルトの名無しさん
2013/12/02(月) 10:16:32.350154デフォルトの名無しさん
2013/12/02(月) 12:19:57.30.NetのComponentモデルの世界では
基本的にメソッド呼び出しやプロパティの読み書きは実行時に解決して呼び出す決まりで
ライブラリもそうなってるしユーザコードもそれに従わなくてはならない(まあ従わなくても動く事が多いが)
だからoverridesはなくshadowsを使えば良い
0155デフォルトの名無しさん
2013/12/02(月) 12:45:21.710156デフォルトの名無しさん
2013/12/02(月) 13:53:00.15単純な計算の繰り返しだけならfloatの方が若干早くなりますが、
doubleとfloatが混ざってキャストしたりすると遅くなるので、
計算式にもよると思うのですが、doubleで統一しておいた方が無難でしょうか?
よろしくお願いします。
0157デフォルトの名無しさん
2013/12/02(月) 13:56:04.190158デフォルトの名無しさん
2013/12/02(月) 13:58:40.96decimalとの比較は用途次第
0159デフォルトの名無しさん
2013/12/02(月) 14:53:24.25ありがとうございます。
fを付け忘れたり、ただ割っただけですとdoubleにキャストしてしまいますので、
そこまで精度が必要で無くてもdoubleにて計算するようにします。
0160デフォルトの名無しさん
2013/12/02(月) 15:21:19.54call 書けよ
0161デフォルトの名無しさん
2013/12/02(月) 15:55:58.31ありがとう
0162デフォルトの名無しさん
2013/12/02(月) 20:42:14.83これが大量に出るのを抑制する方法はありますか?
0163デフォルトの名無しさん
2013/12/02(月) 21:14:30.01現在作成しているソリューションの一部を後々使いまわせるようにdll化したいと思っています
調べると別ソリューションを作成してクラスライブラリとして作成、コンパイルすればdllすることができるとあったので、別ソリューションで作成し、参照することも出来ました
ただ、今後の開発を考えると1つのウィンドウで作業していきたいのですが、異なるソリューションを同じウインドウで開発したり、
dllを参照している側でコンパイルするとdll側もコンパイルされるような設定はできますでしょうか?
別ウィンドウで作業し、dll側をコンパイル後、参照側をコンパイルすることしかできないのでしょうか
0164デフォルトの名無しさん
2013/12/02(月) 21:23:35.68ソリューションからプロジェクト追加
0165デフォルトの名無しさん
2013/12/02(月) 21:25:04.580166デフォルトの名無しさん
2013/12/03(火) 14:35:06.49「既存のプロジェクト追加」でdll側のcsを追加し、「参照の追加」でdll側のソリューションの作成したdllを指定しています
しかし「既存のプロジェクト追加」で追加したcsを編集してもdll側のcsには反映されてないようで、ビルドした際にもdll側のビルドはされていないようです
依存関係というのが大切そうなので、調べてみたところソリューションのプロパティから「プロジェクト依存関係」まで辿り着いたのですが、
dll側のプロジェクトが表示されておらず、設定ができませんでした
なにか設定が足りないのでしょうか
0167デフォルトの名無しさん
2013/12/03(火) 14:39:22.880168デフォルトの名無しさん
2013/12/03(火) 14:50:36.500169デフォルトの名無しさん
2013/12/03(火) 15:04:10.35もちろんdllを指定しています
>>167
他のアプリで使ったりと色々としたいことがあるので
0170デフォルトの名無しさん
2013/12/03(火) 15:17:00.610171デフォルトの名無しさん
2013/12/03(火) 15:18:39.21複数プロジェクトいけるEXPRESSっていつからだっけ
0172デフォルトの名無しさん
2013/12/03(火) 16:12:00.06EXPRESSを使っています
いろいろ試してみて
メニューバーのプロジェクトの「既存のプロジェクト追加」ではなくソリューションエクスプローバーでソリューションを選んで「追加」を選択すると
「プロジェクト依存関係」が設定できるようになり、使用側のビルトでdll側もビルドされるようになりました
この2つが別物だったんですね・・・
もう1つ教えてください
上記の過程でdll側を一度ソリューションから作りなおしたのですが、今度はdllを参照に指定してもusingの宣言で「usingもしくはアセンブラがないよ」と言われるようになってしまいました
オブジェクトブラウザで見るとdllの名前空間が表示されておらず、ソリューションエクスプローバーのコンテナにはdllが表示されているという歪な状態になっています
試しに別名のtestというソリューション名、class1と言うクラス名でdllを作ってみると無事参照されてしまいました
dllのnamespace、class名が怪しいのかと思って確認しましたが、統一されてました
「オブジェクトブラウザで見るとdllの名前空間が表示されておらず、ソリューションエクスプローバーのコンテナにはdllが表示されているという歪な状態」についてわかることはありませんか?
0173デフォルトの名無しさん
2013/12/03(火) 16:35:07.83classにpublic付けてませんでした・・・
アホすぎわらえない
0174デフォルトの名無しさん
2013/12/03(火) 16:58:57.81m9
0175デフォルトの名無しさん
2013/12/03(火) 17:03:21.71どんまい
0176デフォルトの名無しさん
2013/12/03(火) 18:16:38.970177デフォルトの名無しさん
2013/12/03(火) 19:48:28.78安心しろ。俺もはまったことがあるw
0178デフォルトの名無しさん
2013/12/03(火) 20:14:05.930179デフォルトの名無しさん
2013/12/03(火) 20:18:32.340180デフォルトの名無しさん
2013/12/03(火) 20:26:05.450181デフォルトの名無しさん
2013/12/03(火) 20:38:07.940182デフォルトの名無しさん
2013/12/03(火) 21:37:39.54挙動としては何が違うんですか?
0183デフォルトの名無しさん
2013/12/03(火) 21:47:20.680184デフォルトの名無しさん
2013/12/03(火) 21:49:14.970185デフォルトの名無しさん
2013/12/03(火) 23:33:53.23解こうとしないほうが良い
0186デフォルトの名無しさん
2013/12/03(火) 23:44:24.000187デフォルトの名無しさん
2013/12/04(水) 00:03:07.885つの選択肢の中から1つしか選択できないようにする方法ってありますか??
例えば、二つ目を選択しようとしたら、前に選択したチェックボックスのチェックは
ちゃんと消える、みたいな…
要するにアンケートみたいなものを作りたいんです
なんかわかりにくくてすみません
0188デフォルトの名無しさん
2013/12/04(水) 00:14:34.11そういうケースではCheckBoxじゃなくてRadioButtonを使うのがWindowsのルールですよ
0189デフォルトの名無しさん
2013/12/04(水) 00:20:20.46釣りだろ
ラジオボタン以外ありえんだろ
0190デフォルトの名無しさん
2013/12/04(水) 00:22:49.050191デフォルトの名無しさん
2013/12/04(水) 00:25:47.81あれをラジオのボタンと言われてもピンと来ないな
0192デフォルトの名無しさん
2013/12/04(水) 00:26:05.27ラジオボタンにした場合、どうしたらよいのでしょうか??
0193デフォルトの名無しさん
2013/12/04(水) 00:28:58.220194デフォルトの名無しさん
2013/12/04(水) 00:33:01.13ありがとうございます!!調べてみたらいけそうです!!
0195デフォルトの名無しさん
2013/12/04(水) 00:33:50.24trueでもfalseでもないやつ
CheckBox.Checkedってnull非許容型だよね?
0196デフォルトの名無しさん
2013/12/04(水) 00:38:02.500197デフォルトの名無しさん
2013/12/04(水) 00:39:25.09サンクス
0198デフォルトの名無しさん
2013/12/04(水) 08:40:56.700199デフォルトの名無しさん
2013/12/04(水) 11:56:18.46ボタンとか配置した時に思うように動かないから、怖くて使えねぇ;;
みんなは使いこなしてるの?
0200デフォルトの名無しさん
2013/12/04(水) 13:46:18.31http://engawa.2ch.net/test/read.cgi/poverty/1386083303/
0201デフォルトの名無しさん
2013/12/04(水) 15:50:10.28起動即初期化だから、staticクラスが使えない場合も少なくない
0202デフォルトの名無しさん
2013/12/04(水) 16:47:41.87初めて型にアクセスしたときだったような
0203デフォルトの名無しさん
2013/12/04(水) 18:01:12.07それをお前に教えた奴つれて来いよ
膾にしてやる
0204デフォルトの名無しさん
2013/12/04(水) 18:13:29.76C# Language Specification 5.0
10.12 static constructors (P713-714)
The execution of a static constructor is triggered by
the first of the following events to occur within an application domain:
* An instance of the class type is created.
* Any of the static members of the class type are referenced.
0205デフォルトの名無しさん
2013/12/04(水) 19:20:47.710206デフォルトの名無しさん
2013/12/04(水) 19:31:49.46初期化できるんだよね。
安全性を考えればC#の仕様の方が妥当なんだろうけど、時々この機能があったらと思うときがある。
0207デフォルトの名無しさん
2013/12/04(水) 19:32:49.440208デフォルトの名無しさん
2013/12/04(水) 20:03:43.930209デフォルトの名無しさん
2013/12/04(水) 22:45:59.860210デフォルトの名無しさん
2013/12/04(水) 22:51:15.22基本的にコード自動生成ツールを作るときに念のため使うもので、普通は要らない
0211デフォルトの名無しさん
2013/12/04(水) 23:53:30.21普通は使わんな
0212デフォルトの名無しさん
2013/12/05(木) 00:12:54.30namespace Foo {
class System {
public const int Console = 0;
}
class Hello {
const int Console = 7;
static void Main() {
global::System.Console.WriteLine("Hello");
//System.Console.WriteLine("Hello"); // error
}
}
}
extern aliasと並んで使わない機能の2トップ
0213デフォルトの名無しさん
2013/12/05(木) 00:48:44.33一番意識して使うことが少ないのはpartial methodだろ
0214デフォルトの名無しさん
2013/12/05(木) 06:42:21.15T4のおかげで敷居は下がったのかな?
0215デフォルトの名無しさん
2013/12/05(木) 08:56:43.65アドレスのホスト名がIPになるとListenerが受け付けてくれない。
具体的には、例えば http://google.co.jp/ は受け付けるけど、
同じくグーグルのアドレス http://74.125.235.87/ になると Bad Request (Invalid Hostname)
なんだけど、これは仕様なのかやり方が悪いのか回避方法があるのか分からないので教えてくだしあ
http://ideone.com/XKLFdF
0216デフォルトの名無しさん
2013/12/05(木) 08:58:14.860217デフォルトの名無しさん
2013/12/05(木) 09:59:35.96マジか
0218デフォルトの名無しさん
2013/12/05(木) 10:10:35.57Delegateの中でawaitって使えなかったのね・・・。
当たり前っちゃー当たり前なんだろうけども。
0219215
2013/12/05(木) 10:33:15.13ごめん書き忘れたけどOSはXP(sp3)なんだ
それでも管理者権限の操作が何かしら必要だったりするのかな?
検索能力なくて答えにたどり着けない…
0220デフォルトの名無しさん
2013/12/05(木) 10:49:17.150222デフォルトの名無しさん
2013/12/05(木) 13:57:28.65using System.Windows.Forms.DataVisualization.Charting;
このusingが必要なんだけど、これするとCursorのプロパティの一部にアクセスできなくなる。
Cursor.Current = Cursors.WaitCursor;
こんな事が出来ないんだけど、何か方法ありませんか?
0223デフォルトの名無しさん
2013/12/05(木) 14:00:11.290224デフォルトの名無しさん
2013/12/05(木) 14:01:19.01using Cursor = System.Windows.Forms.Cursor
って書いとくとか
0225デフォルトの名無しさん
2013/12/05(木) 14:08:17.90なんでCursorだとブロックしやがるんだろ・・・
0226デフォルトの名無しさん
2013/12/05(木) 14:20:34.57Timerなんか被りまくるぜ
0227デフォルトの名無しさん
2013/12/05(木) 15:53:58.240228デフォルトの名無しさん
2013/12/05(木) 17:29:54.02中に配置したLabelの値が変わるたびにTableLayoutPanelの枠(CellBorderStyle)の線がチラつくのが気になります。
SuspendLayout()とResumeLayout()でLabelの値が変わる時だけ動く様にしても上手く行きません。
何か他に方法がありましたら、よろしくお願いします。
0229デフォルトの名無しさん
2013/12/05(木) 17:44:35.73幅が変わればレイアウトし直すのは当たり前
LabelのAutoSizeをfalseにするか、Panelのようなコンテナに入れてからTableLayoutPanelに置けば?
0230デフォルトの名無しさん
2013/12/05(木) 18:11:38.37ありがとうございます。
0231デフォルトの名無しさん
2013/12/05(木) 20:35:49.910232デフォルトの名無しさん
2013/12/05(木) 21:37:26.63ネイティブコードがあるなら知らん。
0233デフォルトの名無しさん
2013/12/05(木) 21:48:53.60あとラムダ式とかCOM相互運用機能があるメソッドとかでは再起動が必要だった希ガス
0234デフォルトの名無しさん
2013/12/05(木) 23:28:09.54なんかググっても右辺を左辺に代入するってだけ書いてて簡単なのしか書けないんだけど
ブレイクで追っても型推論だからかウォッチでも読めないし追いきれない・・・
0235デフォルトの名無しさん
2013/12/05(木) 23:30:16.020236デフォルトの名無しさん
2013/12/05(木) 23:35:49.320237デフォルトの名無しさん
2013/12/05(木) 23:56:52.750238デフォルトの名無しさん
2013/12/05(木) 23:58:14.33俺も適当に書いて覚えたし
0239デフォルトの名無しさん
2013/12/06(金) 00:22:30.05{
Form2 f = new Form2();
f.Show();
}
のようにして、Form1からForm2を表示させています。
しかし、同じように記述して(Form番号はもちろん変えています)
Form2からForm3を表示させようとしても表示出来ません。
どうしたらForm2からForm3を表示させられるのでしょうか??
0240デフォルトの名無しさん
2013/12/06(金) 00:30:18.60表示されるようなコードを書けば表示されるよ。
0241デフォルトの名無しさん
2013/12/06(金) 00:40:43.160242デフォルトの名無しさん
2013/12/06(金) 00:46:50.490243デフォルトの名無しさん
2013/12/06(金) 00:57:46.54C言語でいうgoto文みたいな。
それとも、特にそんなこともなくどんどん使うのが普通?
よろしくです。
0244デフォルトの名無しさん
2013/12/06(金) 01:03:10.55そこで後者しかできないように実装を持てなくしたのがJavaやC#のinterface
そもそも多重継承するための機能だからどんどん使っていい
0245デフォルトの名無しさん
2013/12/06(金) 01:12:09.68JavaとかC#とかだと直交性を重視してなるべく小さいクラスに分けるのが
一般的に好ましいとされてるので、
そういう意味ではあまり大きなインターフェイスを多重継承するべきではない
0246デフォルトの名無しさん
2013/12/06(金) 01:34:11.41C%2b%2bの多重継承で問題ないよ、そのための仮想関数だろうが
Interfaceで制約作ったりラップしたりは「誰が読んでもおまえの意図が汲み取れる仕様書」を作れる奴だけがInterfaceを実装することを許す
何故オブジェクト指向で高度にモジュール化されたと言い張るのに、いざ実装の段階になってクラス内部を覗いて解読せねばならんのだ馬鹿馬鹿しい
実際に利用される側の立場にたって設計・実装されたライブラリなど皆無にひとしい
0247デフォルトの名無しさん
2013/12/06(金) 07:03:23.340248デフォルトの名無しさん
2013/12/06(金) 07:05:29.380249デフォルトの名無しさん
2013/12/06(金) 07:06:04.13頭がハゲるからと何度言ったら。
0250デフォルトの名無しさん
2013/12/06(金) 11:49:04.450251デフォルトの名無しさん
2013/12/06(金) 12:10:55.20いわばstaticメソッドをもったinterfaceなんだけど、
MIX-in用途なら十分間に合う。
次期javaもこの方向性みたいだし。
0252デフォルトの名無しさん
2013/12/06(金) 19:47:21.48これは包含することで解決できるのだから仕様から削除されても問題にならないしな
■ このスレッドは過去ログ倉庫に格納されています