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


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

ふらっと C#,C♯,C#(初心者用) Part132



1 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 19:00:56.93 ID:Y4203ffV0.net]
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。

内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっと C#,C♯,C#(初心者用) Part131
mevius.5ch.net/test/read.cgi/tech/1504861931/
■関連スレ
C#, C♯, C#相談室 Part94 [無断転載禁止]©2ch.net
mevius.5ch.net/test/read.cgi/tech/1492843013/

■コードを貼る場合は↓を使いましょう。
ideone.com/
https://dotnetfiddle.net/

■情報源
https://msdn.microsoft.com/en-us/library/gg145045.aspx
referencesource.microsoft.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured

515 名前:デフォルトの名無しさん [2017/10/27(金) 11:54:44.78 ID:HHV5h0f26.net]
>>502
Electronの方が簡単だと思ったけど

516 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 12:07:59.78 ID:viJc7lmzd.net]
>>504
求める機能と開発者のバックグラウンドで様々

517 名前:デフォルトの名無しさん [2017/10/27(金) 12:12:08.77 ID:SMci25s2r.net]
男前なUIは魅力的だけどやはり難しいのか…
WPF勉強しつつ何か作らなきゃいけない時はForms使うって感じでやってみます

518 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 12:27:22.92 ID:WDMSp6pvM.net]
>>504
入門レベル以上のモノを作ろうとするとハードル高くないか?

519 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 12:40:38.27 ID:2zDM9gUL0.net]
伸びてるときは読まなくていい法則

520 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 12:43:28.55 ID:1mFeKpWgM.net]
>>508
そんな事を言いながら読んでレスまでしていると

521 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 12:50:31.66 ID:37wzv4nSM.net]
>>503
学習コストの低いプログラム環境なんて飯の種にはならない。それ以前にいまどき学習コストの低いものなんて無いし。

522 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 13:06:19.09 ID:I66AtiXV0.net]
wpfはMaterial Design In XAML Toolkitなんか使えば、単にコントロール並べるだけでも格好いいの出来る
https://github.com/ButchersBoy/MaterialDesignInXamlToolkit

並べるだけならGridの仕組み覚えれば何とかなりそうだし、言うほど敷居が高いわけじゃない

523 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 13:06:50.40 ID:cQIvF6YS0.net]
【1位は3年連続Scalaの424万円!】2017年版プログラミング言語別給与ランキング
hrog.net/2017102655819.html



524 名前:デフォルトの名無しさん [2017/10/27(金) 13:12:47.78 ID:SMci25s2r.net]
>>511
これ凄いな
MVVMの真髄を見た

525 名前:デフォルトの名無しさん [2017/10/27(金) 13:14:13.55 ID:xbgVr3k+6.net]
WPFはバインドが難しい

526 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 13:16:10.91 ID:DFrdiJ4Ra.net]
MVVMと関係ないだろw

FCUで鳴り物入りで始まった新デザインは放置されてるよな

527 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 14:18:43.50 ID:I66AtiXV0.net]
>>514
先入観持たなければ、バインド自体は半日もネットで勉強したら理解できる範囲
難しいのはスタイルとかアニメーションとかビジュアルステイトマネージャとかビヘイビアあたり

528 名前:デフォルトの名無しさん [2017/10/27(金) 14:43:10.59 ID:HHV5h0f26.net]
リストの項目を複数選択してそれぞれの属性値を使って処理しようとしてもWPFだと難しい

529 名前:デフォルトの名無しさん [2017/10/27(金) 14:45:18.40 ID:HHV5h0f26.net]
単純に1つのアイテムをクリックした時にその要素のデータに対応した処理をしようとしてもなかなか出来なかった気がする

530 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 15:20:00.66 ID:I66AtiXV0.net]
確かにListBoxとListBoxItemと実態データの関係はわかりづらいし、それをしっかり説明している文書も見たこと無いな
あと、ListBoxを理解するのに必須のItemContainorStyleとItemTemplateの解説とか

ノウハウだけはいくらでもネットに転がっているから、最初は単純にコピペから始めるしか無いかもね

531 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 16:01:30.28 ID:EVxrWE8wr.net]
その辺は、"WPF ItemsControl"辺りでGoogle先生の御神託を受けると
なるほど!なサイトが啓示される

532 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 16:02:39.61 ID:EVxrWE8wr.net]
WPFは簡単とは言わないが
慣れると「楽」ではある

533 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 16:47:05.61 ID:/3yfU/y80.net]
>>489
歳とともに新しい概念を吸収する能力はどうしても衰えるからな
日本だけに限った話ではない

日本だと竹内郁雄あたりが一番の古株



534 名前:デフォルトの名無しさん [2017/10/27(金) 17:11:12.50 ID:Xsu5cNz50.net]
以下のサイトを参考にAccord.NETで画像判定を行いたいのですが
https://www.ipentec.com/document/document.aspx?page=csharp-accord-net-create-simple-classification
コピペだけでは上手く行かなくて悩んでいます。
NuGetでAccord.NET frameworkは導入済
フォーム名をFormMainにして
デザイナからボタン3つのイベントハンドラを作って
残りはコピペしたのですが赤線エラーが連発です。
何が足りないんでしょうか?

535 名前:デフォルトの名無しさん [2017/10/27(金) 17:14:31.76 ID:pAogLeJi0.net]
見た目ではわからんない変な見えない文字でもあるんじゃね?

536 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 17:17:20.47 ID:WVUdRiE90.net]
昨夜のヤツか
だから何でもかんでもコピペで済ませようとせずに、ちゃんと基礎を学習しろって

>赤線エラーが連発です。
>何が足りないんでしょうか?
先ず、そのエラーの内容を全部正確に書き出せ
何が足りないっつーなら、人に物を訊ねるのに提示する情報が足りてない

537 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 17:28:28.47 ID:5X4PuMCla.net]
金出して入門書を買うべき

538 名前:デフォルトの名無しさん [2017/10/27(金) 17:32:12.47 ID:Xsu5cNz50.net]
ごめんなさい
以下が私のコピペして作ったコードです
https://pastebin.com/xdS3quRw
エラーは以下の21個です
https://pastebin.com/sZTkUWfU

何かアドバイス頂けたら幸いです。

539 名前:デフォルトの名無しさん [2017/10/27(金) 17:34:34.18 ID:Xsu5cNz50.net]
入門書は作って覚えるvisualC#2017という本を買い
コピペではありますが本に載っているプログラムを一通り作ってみました。

540 名前:デフォルトの名無しさん [2017/10/27(金) 18:10:14.92 ID:eOTTzU3j0.net]
このサンプルがゴミ
他のサイトで試そうぜ

541 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 19:04:59.18 ID:+TQssIne0.net]
>>527
usingでエラー出ているから手の付けようがないんだが
Accord.MachineLearningがあってその下のAccord.MachineLearning.VectorMachines;が無いって出ているのだから
Accord.NET frameworkやらの導入に失敗しているか拡張か何かが必要なのにそのことが書いてないか
検証するには同じように導入しなきゃならないけど俺には無理w

身もふたもないこと書くけど、コピペでしかやらないのならプログラムじゃなくてソフトウェア板でツール探したほうがいいと思うよ

542 名前:デフォルトの名無しさん [2017/10/27(金) 19:06:56.02 ID:fMt9E+qB0.net]
while文を使って「10000」を「2」で何回割ると
「100以下」になるかを調べるプログラムってどう記述すればいいですか?
教えてくださいお願いします

543 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 19:10:40.47 ID:+TQssIne0.net]
>>531

int count=0;
int x=10000;
while (x>100)
{
x=x/2;
count++;
}



544 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 19:24:20.57 ID:8mvsL+zrd.net]
課題の答えを教えてもらうスレみたいになってるな

545 名前:デフォルトの名無しさん [2017/10/27(金) 19:30:24.53 ID:pAogLeJi0.net]
>>530
俺は実際にやったんだがまず最新バージョンだとダメだった
サイトに書いてるバージョンをインストールしたら名前空間未解決は全部消えたけどImageItemクラスが見つからないって出たわ

546 名前:デフォルトの名無しさん [2017/10/27(金) 19:47:20.37 ID:fMt9E+qB0.net]
>>532さんありがとうございます

547 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 20:06:30.51 ID:mnqGPV0ma.net]
>>531-532
Math.Log使って算術的に求めればいいのに、と一瞬思ったけど底の変換で誤差が出るからだめかw
でも解析的に溶けるはずの問題を力技でやるのは面白くないな馬鹿っぽくて

548 名前:デフォルトの名無しさん [2017/10/27(金) 20:58:27.40 ID:pAogLeJi0.net]
1000/(2^x)<=100
∴x>=-ln(100/1000)/ln(2)

整数単位なら
ceil(-ln(100/1000)/ln(2))

C#なら
(int)Math.Ceiling(-Math.Log(100.0/1000.0)/Math.Log(2.0))

549 名前:デフォルトの名無しさん [2017/10/27(金) 21:00:22.12 ID:pAogLeJi0.net]
1000じゃなくて10000だった

550 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 21:10:00.24 ID:Kbs4W3Kw0.net]
質問です
WPFで、MenuのItemSourceをXMLとデータバインドして、ItemContainerStyleでXMLに書かれたアイコンのパスからアイコンを表示してます
テキストはうまく並びますが、アイコンは現在最後の1個だけ表示される状態です
試行錯誤したのですがなんかうまくいきません
教えてください!

551 名前:デフォルトの名無しさん [2017/10/27(金) 21:15:13.29 ID:Xsu5cNz50.net]
>>534
ありがとうございます
バージョンをサイトのに合わせたらエラーが以下の7つにまで減りますね
https://pastebin.com/a3enEffB
ちょっと希望が見えてきました

552 名前:デフォルトの名無しさん [2017/10/27(金) 21:18:58.21 ID:pAogLeJi0.net]
>>539
>>1のサイトにコード貼ってうp

553 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 21:20:12.73 ID:FTyfNVM40.net]
>>539
faqネタ
https://msdn.microsoft.com/ja-jp/library/aa970778(v=vs.110).aspx



554 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 21:22:05.47 ID:+vbTuR/l0.net]
>>533
俺なんか、実際プログラミングの授業さっぱりわからなかったから気持ちはわかるw
卒業して全然違う職に就いてから、独学で勉強して業務アプリ作ってるけど
やっぱ理系の大学教授って教えるの下手だよなぁ

555 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 22:31:09.83 ID:Kbs4W3Kw0.net]
>>542
ありがとうございます!
x:Sharedを調べてきます

>>541
もうちょっとがんばってみます

556 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 22:33:56.47 ID:FTyfNVM40.net]
>>544
画像のようなリソースは共有できないのだ。

557 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 22:34:54.26 ID:FTyfNVM40.net]
>>543
正直、工学部のレベルが落ちてると思うよ。

558 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 22:44:05.65 ID:jS4JzIKN0.net]
作れる、と組める、はかなり違うスキルだと思う

559 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 22:45:42.16 ID:EnZPczDa0.net]
作れるけど組めないタイプです

560 名前:539 mailto:sage [2017/10/27(金) 22:51:06.59 ID:Kbs4W3Kw0.net]
できましたありがとう!
ResourceDictionaryにx:Shared="false"でできました!
本当に感謝です! これでスマートに書けます!

561 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 23:08:50.40 ID:5w2xVZwP0.net]
>>549
それデザイナーだと、ちゃんと出るからたちが悪いよ。
エッセンシャルWPFとか読んでないとわからんと思う。

562 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 23:10:50.85 ID:SAD9Ru6t0.net]
WPFのグリッドコントロールが死ぬほど遅いのって解消された?

563 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 01:15:13.63 ID:Ng05dLeH0.net]
いいえ
WPFの思想を正しく理解してたらグリッドコントロールなんか必要ないとわかるはず
それを面倒に感じるようなタイプのアプリならWinFormsかASP.NETで作るべき



564 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 07:09:18.71 ID:t/WJitLPp.net]
どういうことだってばよ

565 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 07:46:40.11 ID:03EiXsZ60.net]
>>551
EnableColumnVirtualizationプロパティをTrueにする

566 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 08:04:18.05 ID:WUINebrs0.net]
Gridじゃなくて、DataGridかよ。

567 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 08:47:45.45 ID:03EiXsZ60.net]
忖度です

568 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 10:45:25.48 ID:DalFF2zW0.net]
Gridが遅いなんて話聞いたことないからわかるだろ

569 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 11:52:51.58 ID:KdTyFqmQ0.net]
>>552
賛同

570 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 12:46:46.71 ID:PsP4EoQE0.net]
つか、

571 名前:DataGridに数千数万突っ込む仕様がどうかしている
どうせ使う人もそこまでスクロールするはず無いんだがなぜか作らされる理不尽さ
[]
[ここ壊れてます]

572 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 13:03:06.41 ID:bdNJdn2b0.net]
>>559
ほんとこれ

573 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 13:09:55.85 ID:pcT2EQ6Aa.net]
>>559
役所のアプリってそのぐらいの人数
簡単にいくじゃん

どういう画面にするか迷う



574 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 13:14:31.33 ID:pcT2EQ6Aa.net]
某大手に依頼されたログ閲覧ツールも
200機近くある機械がそれぞれ秒単位で
ログ出すから一万とかあっという間に超える
こういうのいい作り方ない?

575 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 13:20:52.94 ID:pcT2EQ6Aa.net]
とりあえずDataGridもDataGridViewも
10万件ぐらいなら余裕で表示できるよ
でも無限に表示するわけにも行かないのに
3年ぐらいのデータはみたいとか言うんだよな
役所のアプリに限っては住民だから
全員並列でデータに上下がなくて
完全にどうやって表示したらいいかわからない

576 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 13:36:39.82 ID:Ng05dLeH0.net]
>>562
elasticsearchに突っ込んで終わり

577 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 13:48:34.24 ID:4tOv+jEh0.net]
>>561
もうエクセルでいいだろwww

578 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 14:00:05.81 ID:LD30atSwM.net]
全部表示しないでクエリで絞り込んで表示したらいい
何万件目視する必要はないと思うけど

579 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 14:31:38.49 ID:/OSTeRXvM.net]
能力のない人が要件定義するとそういうアホなことになるよね
客からすれば大抵そういうのはその場のノリで適当に言っただけのどうでもいいことで、
それが生み出す価値と引き換えになる品質やコストを天秤に載せれば明らかにやるべきではないような要件を「やりません」と言えない

580 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 14:55:50.55 ID:lTHigkwZr.net]
上の人達が頭悪いととにかく迷惑なのは確かではある

581 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 16:06:44.30 ID:e5FcL5GRa.net]
どうせユーザーは全部のデータは見ないから〜、とか
適当に絞り込んだ表示にしろとかいう意見ははさすがにちょっと頭悪すぎると思うw

んなアホな

っていうか仮想化すれば済む程度の話で客や上司を無能扱いする奴って
どんだけ図々しいバカだよ

582 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 16:18:29.56 ID:IlD7K6Hl0.net]
string型に行番号とかの変数を追加したいのですが
シール型で継承できないとエラーになりました
こんなときどうしたらいいでしょうか

583 名前:デフォルトの名無しさん mailto:sage釣 [2017/10/28(土) 16:49:12.51 ID:i6LcJWfh0.net]
エクステンションを使うべし



584 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 16:57:29.76 ID:H0P2VwFl0.net]
>>570
Stringじゃなくてクラス作って行番号や行の情報を変数として持つのは駄目なの?

585 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 16:58:11.15 ID:rZWSN5VzM.net]
class Line {
private readonly string _contents;
private readonly int _lineNumber;
public Line(string contents, lineNumber) {
Contents = contents;
LineNumber = lineNumber;
}
public string Contents {
get => _contents;
set {
if (value == null) throw new ArgumentNullException(nameof(Contents));
_contents = value;
}
}
public int LineNumber {
get => _lineNumber;
set {
if (value <= 0) throw new ArgumentOutOfRangeException(nameof(LineNumber));
_lineNumber = value;
}
}
}

586 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 17:04:36.31 ID:IlD7K6Hl0.net]
>>571
エクステンションだと↓を見る限り変数は追加できないですよね?構文糖衣みたいのを作る時は便利ですけど
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classe

587 名前:s-and-structs/extension-methods []
[ここ壊れてます]

588 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 17:09:57.61 ID:IlD7K6Hl0.net]
>>572
いたる所に行番号やらが必要になったstring変数があってあんま変えたくないのですが、
結局そうするしかないんでしょうかね

589 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 17:13:47.24 ID:i6LcJWfh0.net]
>>574
そのメソッドが所属するクラスにはプロパティorメンバー宣言出来ないって書いてあるかな?

590 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 17:19:01.18 ID:EvuLUtue0.net]
1行挿入したらそれ以降の行を全部更新しないといけないけど
そういう心配は不要な使い方なの?

591 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 17:42:01.52 ID:m7p7dboTa.net]
>>575
手を動かす(コードを書き始める)前によく考えなかったツケとしか言いようがないね
修正箇所が多いことは間違った設計を正当化する理由にはならんでしょう。

>>576
拡張メソッドの実体はただの静的メソッドなので基本状態を持てませんw

thisをキーにするDictionaryでも持てばやってできないこともないだろうけど、
努力の方向が間違ってる感が半端ない

592 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 18:19:38.89 ID:ot1H0tr20.net]
>>576
>実際に、拡張メソッドは、それらが拡張している型のプライベート変数にはアクセスできません。
>>574のこの部分だな
宣言できても外部から使えない

593 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 18:42:13.42 ID:Ei3q78sJ0.net]
なぜ諦めろと言えないのか



594 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 18:48:53.63 ID:LD30atSwM.net]
intに行番号追加したいと言ったらアホかで終わる
stringだとなぜアホかでおわらないのかな

595 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 18:54:17.52 ID:rXHf5Axha.net]
>>581
00001(*゚∀゚)using system;
00002(*゚∀゚)using unko;
00003(*゚∀゚)using chinko;

デリミタ(*゚∀゚)

みたいな

596 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 18:55:16.39 ID:rXHf5Axha.net]
ごめん
やっぱアホやと思う

597 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 19:15:45.09 ID:rZWSN5VzM.net]
>>581
OOPでは文字列というかプリミティブ型をそのまま使う方が間違い
行という概念が対象とする業務にあるならそういうクラスを作る

598 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 20:14:28.12 ID:X1c8HG7Y0.net]
とりあえずstringと暗黙に相互変換できるクラス作ればいいんじゃね

599 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 20:49:55.33 ID:WUINebrs0.net]
>>570
継承(is-a)じゃなくて包含(has-a)にすべきパターン

600 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 21:14:06.22 ID:EvuLUtue0.net]
>>575
>いたる所に行番号やらが必要になったstring変数

この「行番号やら」とstring変数の用途というか使用目的は?

601 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 21:16:11.03 ID:lTHigkwZr.net]
>>586
素直に委譲するべきですな
継承してstringの全メソッドを公開してしまうアホさ加減が理解出来ない人多いよねw

602 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 21:35:30.21 ID:m7p7dboTa.net]
>>586
>>588
この質問者のケースは単なる設計ミス(というよりあまりに思慮が足りない)だけであって
継承かコンポジションかの対立じゃありませんw

603 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 22:59:54.69 ID:rZWSN5VzM.net]
設計ミスの原因は値オブジェクトの作成をサボったこと



604 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 01:41:15.85 ID:niGJJWdU0.net]
Form1のコントロールに他クラスからアクセスするとき、VB.NETだと
Form1.DataGridView1.〜
のようにアクセスできたけど、C#は同じようにできなかった
https://teratail.com/questions/36464
ここのページのように実装したけど、みんなはどうしてる?

605 名前:デフォルトの名無しさん [2017/10/29(日) 01:56:06.10 ID:9lQAHngl0.net]
>>591
いやできるけど

606 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 02:40:31.76 ID:WQc+sGcxa.net]
>>591
C#だとデフォフトのアクセスレベルがprivateになってる(VBはpublic)から
これをpublicとかに変更してやればできる。(デザイナのプロパティグリッドだとデザイン/Modifier)

でもやるな。
コントロールを外から操作したいなんて99%考え方が間違ってる。

607 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 03:16:14.16 ID:ijP0HOZf0.net]
>>591
エラーメッセージくらい読めよ

608 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 08:12:26.70 ID:eDIrk2le0.net]
>>592-594
ありがとうございます
Winフォーム作成→dataGridView貼り付け→dataGridViewのModifiersをPublic→
新しいクラスClass1.csを作成→
public void Test() {Form1.dataGridView1.Rows.Add("hoge");}
エラー CS0120 静的でないフィールド、メソッド、またはプロパティ 'Form1.dataGridView1' で、オブジェクト参照が必要です

とでます。Form1. の時点でインテリセンスにも表示されませんでした
どこが間違っているか指摘していただけるとうれしいです

VB.NETもおなじようにやってみましたが、Form1.のインテリセンス候補も10倍くらいの量がありました

>でもやるな。
>コントロールを外から操作したいなんて99%考え方が間違ってる。
ちなみにどのようにされていますか?

609 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 09:36:49.69 ID:xy4cL51x0.net]
クラスのインスタンスを電文フォーマットに基づくバイト列に変換するのって
どうするのが一般的ですか?

BitConverterで一つずつやるつもりでいたんだけど、電文の種類が多くて大変なんで
マーシャリングかシリアライザー使って何とかならないかなと考えています。

バイトオーダの変換はありませんが
文字コードの変換はあります。

610 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 09:57:15.12 ID:lQWP9L+J0.net]
>>595
クラスのインスタンスからアクセスしないといけない
他のクラスにインスタンス無しでアクセスできるのはエラーのとおりstaticなメンバーにだけ
自分で貼ったリンク先を読み返すか
https://dobon.net/vb/dotnet/form/accessanotherformdata.html
ここを参照

611 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 10:00:00.89 ID:8/yZ+26EM.net]
>>596
独自形式?
ならまずはプロトコルの変更を検討

612 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 10:25:39.66 ID:8DklepZ/0.net]
>>596
電文フォーマットが有名な国際規格ならNugetにコンバータが落ちているだろうからそれ使えだけど、独自形式なら電文に応じてコンバータ作るしかないんじゃね
2.0時代の時は文字コード指定したBinaryWriterに1項目ずつ書き込んだけど、今だともっと良い方法あるのかね?

613 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 10:38:20.65 ID:niGJJWdU0.net]
>>597
説明が足りなかったです
最初のレスで貼ったリンク先の方法で実現できたのですが、VB.NETのように特別な設定等なくてもアクセスできないのかなと思いまして



614 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 10:46:16.93 ID:lQWP9L+J0.net]
>>600
意味が分からないのだけどインスタンス無しでアクセスしたいのなら無理
デフォルトをpublicにする設定なら知らない
datagridviewをpublicにしたくないのなら同じクラスに読み書きするためのpublicなメソッドをおいてそこに外からアクセスする

615 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 11:57:28.03 ID:PXhFkrdq0.net]
LINQの川俣本買ってきた
確かに変態的だがw、なかなか面白い






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

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

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