ふらっと C#,C♯,C#(初心者用) Part128 [無断転載禁止]©2ch.net

レス数が950を超えています。1000を超えると書き込みができなくなります。
1デフォルトの名無しさん
垢版 |
2017/05/02(火) 22:05:40.13ID:OPFlvhxj
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

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

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

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

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part127 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1489498042/

■関連スレ
C#, C♯, C#相談室 Part94 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1492843013/

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

■情報源
https://msdn.microsoft.com/en-us/library/gg145045.aspx
http://referencesource.microsoft.com/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
2017/06/03(土) 10:59:41.75ID:os85wqX+
>>864
直接当てはまるものはない
デリゲートは単なる関数ポインタではなく、ターゲットのオブジェクト参照を持っていて
インスタンスメソッドを呼び出すことができる
元ネタはDelphiのメソッドポインタ
2017/06/03(土) 11:16:23.86ID:oD9emiaJ
>>861
開発終了ッスか
ありがとうございます
2017/06/03(土) 11:27:20.05ID:X1r1Xqdt
>>863
formsアプリ云々は関係ない
2017/06/03(土) 11:33:01.98ID:F8KVXb5q
>>863
(説明が100%正しいか自信はないけど)つーか、デリゲート自体は変数と同じようなもので、
値を格納するんじゃなくてメソッドを格納するための型。C#のイベント機能もデリゲートを
使ってるし、意識する・しないに関わらず、デリゲートはあちらこちらで使われ、色々使える

メソッドを変数のように引き渡せるなら、クラス内の特定の処理を自由に差し替えたりできる
でしょ?たとえばあるクラスで、そのインスタンスを作った際に外部からメソッドを渡してやる
事で、インスタンス毎に異なる処理をさせる事ができたりする訳

ただし今はラムダ式など新しい記述方法が出てきていて、コード中でdelegateというキーワードを
使ってデリゲートを定義する機会は少ない
870デフォルトの名無しさん
垢版 |
2017/06/03(土) 11:46:13.55ID:pwJoSF0V
ありがとうございます
まぁこんな状態なので継承やインターフェースもうまい使いどころが分かっていないんですが。。要はまず習うより慣れろですかね
プログラムを作っててこういうことが出来れば便利なのに!を感じた時に使いどころを覚えていきます
2017/06/03(土) 11:52:54.38ID:l/gF2KNd
>>845
>>863
疑問に思ってるのは
「いちいち変数介して実行せんでも直接呼び出して実行すればいいじゃない」っていうことに見えるけどあってる?
invoke使わないといけないような場合は使いますけど…という

つまり、デリゲートなりラムダ式なりでわざわざ処理内容自体を渡す利便性って具体的になんだべ?ってことかいな
872デフォルトの名無しさん
垢版 |
2017/06/03(土) 12:04:32.36ID:pwJoSF0V
>>871
ありがとうございます
まさにその通りです
まだそういった場面になってないからそう思うだけだとは思うんですが使いどころがいまいちピンとこない感じです。。
サンプルプログラムを見ても、ん?普通にメソッド呼びだしたほうが分かりやすくね?みたいな
2017/06/03(土) 12:13:05.71ID:oD9emiaJ
>>872
クラス作成側と使用側が別れてる場面に当たらないと難しい

先頭ノードのみ公開されてるツリー構造のデータの
ノードのすべてを辿るメソッドの引数はデリゲートだと楽そうじゃない?
って言ってわからないならとりあえずまだいいんじゃね?的な
2017/06/03(土) 12:19:50.70ID:ytyChNwU
変数なんて使わないで直接数字を書けば良くない?
みたいな
2017/06/03(土) 12:29:55.38ID:F8KVXb5q
まあ、Formの中に全部の部品ぶちこんで、すべてのコードもぶちこんで、それですんでるうちは
継承だのインターフェースだのデリゲートだの小難しい事はあまり意識しないでもすむよな
ただ、プログラムの規模が大きくなって、だんだんスパゲティ化してきて処理をすっきりさせたい、
分けられる所は別のクラスに分けたいとか考え始めた頃に、ありがたみがわかってくる
2017/06/03(土) 12:32:52.42ID:l/gF2KNd
>>872
いきなり「この技術を自分のコードにどう取り入れるか」から入ってるからイメージ湧かないんじゃないかな
LINQは知らないの?
あれは初心者でも小手先で使えて、しかも便利な上に
「処理内容を渡す」という仕組みの便利さも実感出来ると思うんだけど
ラムダ式も、直接ラムダ式を調べるんじゃなくて(デリゲート知ってる人向けの説明ばっか出てくる気がする)
LINQのサンプルから入った方がイメージしやすいかも

継承やインターフェースなんかは「使う側」としてはもうすでに使いこないしてるはず
ListでもArrayでも、違うクラスなのにForEachで同じ書き方して列挙できるってのはまさに
インターフェースの機能だし
他にも無意識にインターフェースや継承の機能を使ってる場面はあるはず

つまり、.NETのライブラリで実際にその技術を使って設計されてるクラス使ってみて
「それがどういう仕組で動いてて、なんで便利に使えるのか」からアプローチした方がイメージ湧きやすいかも
同じ機能を持つクラスを自分で実装しようとしたらどうなるか、とかね
2017/06/03(土) 12:35:38.91ID:HOlIYUlS
関数を変数として扱えると、関数やクラスに引数とかメンバ変数として渡せるんだよ

たとえば朝6時になると何かアクションを実行してくれるクラスがあるとして、
そのクラスにアラームを鳴らすって関数を渡しておけば目覚ましになるし、
録画開始する関数を渡しておけば予約録画機能になる

元のクラスは変更せずに、渡す関数によってあとからいくらでも簡単に機能が追加できるから便利でしょ
2017/06/03(土) 12:36:02.80ID:Z3mRcKD7
>>872
例えば親フォームのメソッドを小フォームのダイアログなんかのデリゲートに突っ込んでやる
そうすると、メソッドは親フォームのクラス所属だから普通に親フォームのコントロールやプロバティーに簡単にアクセスできるが
小フォームから簡単に呼び出せる

ダイアログで親フォームのデータ更新するときなど便利に使えるよ
2017/06/03(土) 12:53:59.79ID:wtE6TEU1
一般的に「制御の反転(IoC)」と呼ばれる考え方だよ
構造化プログラミングでは通常、呼び出す側が何を呼び出すかを決めており、呼び出す側は呼び出される側に依存する
これをボタンのクリックイベントに置き換えると、
ボタンがフォームの特定のイベントハンドラに依存することになる
これだとフォームごとに別のボタンクラスを作らなきゃいけなくなるだろ?
それを避けるために「移譲」と呼ばれるテクニックを使い、呼び出す側(ボタン)に呼び出される側(ハンドラ)を渡す形になるように制御を「反転」させる
これでボタン側は共通にできる
2017/06/03(土) 12:56:39.87ID:Gn01LBfK
>>875
俺社環の話になるけどユニットテスト義務付ければ、糞長い何でもぶち込みコードを撲滅できるのかな
2017/06/03(土) 12:56:47.90ID:dUUYIXlx
>>875
規模関係なくない?
あくまで内部が触れない仕組みだよね
2017/06/03(土) 13:03:32.92ID:dUUYIXlx
>>877
それだと理解できないと思うな
だってタイマー判定してる箇所に処理書けばいいじゃん
あくまでその処理が触れないからデリゲートが意味を持つんだよね?
2017/06/03(土) 13:06:54.90ID:IVM+622+
>>881
もちろん、ライブラリの呼び出しもこういうスタイル
2017/06/03(土) 13:55:14.07ID:ep62Y9tf
配列.sort(compareFunction)

ここで引数に、ソートのやり方を渡せば、色々な順番で、ソートできる

例えば、abcd など文字の順番とか、
文字列の文字数が少ない順番とか、
様々な定義ができる

関数も関数オブジェクトに出来るし、
ラムダ式・クロージャも、オブジェクトだから、
これらはすべて同じで、引数にはクラスを渡していると考えればよい
2017/06/03(土) 13:57:09.06ID:dUUYIXlx
だからマイクロソフトが提供するapiなんかでこう使うんですってのじゃないとお目にかかる場面は少ないと思う
自社のソースだと作業者毎の縄張りとかないからこんなの作ったらドキュメント必須だね
面倒なので誰もやらんと思う
2017/06/03(土) 15:31:04.45ID:aGpIaogF
>デリゲートの質問者

だから、デリゲート型の変数が使えるメリットは
例えばint型の変数が使えるメリットと同じだってば

もしintがリテラルしか使えなかったら、任意の自然数を引数にとって素数か判定するメソッドは書けない。

同じようにデリゲート型の変数が使えなかったら、例えばLINQのWhereみたいに
要素をフィルターする条件を引数に取るメソッドも、ListなんかのSortみたいに
2つの要素の大小関係を決める方法を引数に取るメソッドも書けない
2017/06/03(土) 16:01:31.05ID:4DDVr3y5
>>865>>866
ありがとうございました。
十年来の疑問が解消しました。
888デフォルトの名無しさん
垢版 |
2017/06/03(土) 16:37:00.32ID:U3W11ZZJ
>>845です
皆さんありがとうございます
指導頂いた見解として、ある箇所で必ず何かしらの処理をする(コールバック?)時に、その処理が確定的でないならデリゲートを利用して行う処理を渡してあげる

その処理が確定していて後々の拡張を考えないなら直接呼びだすメソッドを書けばいい(こう思ってる場合でもデリゲートを利用するメリットがあるのか??)

ってところでいいですか?
LINQはまだ使ったことないので今から勉強してみます。
2017/06/03(土) 16:41:07.68ID:MUswBLEo
>>888
そんなんでおkだと思う
わざわざクソな造りにする意味はない
890デフォルトの名無しさん
垢版 |
2017/06/03(土) 21:53:10.11ID:4eBaDiw2
そういや戻り値複数返せるんだっけか
忘れてた
891デフォルトの名無しさん
垢版 |
2017/06/03(土) 22:18:31.97ID:FqrvzZFP
一定時間ごとにテキストボックスにメッセージを表示する方法が分かりません。
textBox1.Text = "";(空状態)
Thread.Sleep(1000);
textBox1.Text = "A";
Thread.Sleep(1000);
textBox1.Text = "B";
ThreadSleep(1000);
textBox1.Text = "C";
とすると、空の状態から一気にCになります。
順番に表示するにはどうしたらいいでしょうか。
2017/06/03(土) 22:22:06.54ID:n3tRmqXX
>>891
C#固有のやり方は知らなくてすまないが一般的にそういう処理は別スレッドでスリープしながらUIスレッドにメッセージを投げて処理する
2017/06/03(土) 22:34:45.76ID:/NycxzQH
>>891
タイマー使えば楽
https://msdn.microsoft.com/ja-jp/library/system.timers.timer(v=vs.110).aspx
2017/06/03(土) 22:37:24.60ID:wtE6TEU1
>>891
Thread.Sleepをawait Task.Delay に置き換えるだけ
2017/06/03(土) 22:40:00.95ID:ytyChNwU
それ途中でユーザーがウィンドゥ閉じたらどうなるの?
2017/06/03(土) 22:57:52.94ID:/NycxzQH
>>891
ごめんちゃんと読んでなかったw
間にtextBox1.Update();かtextBox1.Refresh();を入れる
2017/06/04(日) 03:41:26.92ID:P6gj5FUv
ログ表示で俺もやったことあんな
textbox1のメンバにappendなんたらってあったような希ガス
2017/06/04(日) 03:43:19.28ID:P6gj5FUv
メソッドだった
AppendTextだった
2017/06/04(日) 08:39:53.30ID:K3h7l1/2
>>880
全てのユニットテストを義務化すれば撲滅出来ると思うが、コード側を相当修正しなければならないハズなんで、かなり大変だよ。
900デフォルトの名無しさん
垢版 |
2017/06/05(月) 01:03:05.89ID:SN6Ncnlv
varの話ししてもいいですか?
2017/06/05(月) 01:06:48.60ID:cwM+8VET
しつこい
2017/06/05(月) 02:19:59.90ID:SHynnf8E
好きにすれvar?(激寒オヤジギャグ)
903デフォルトの名無しさん
垢版 |
2017/06/05(月) 07:19:09.40ID:RlDx2o4h
>>902
4年ぶりに笑った
2017/06/05(月) 15:33:56.56ID:hFu+7Z6c
C#6から構造体のコンストラクタの中もでプロパティを初期化できるように
なってたんだな(VBは昔から可能だった)

ついさっき初めて知ったよ。
どうでもいい独り言でした
2017/06/05(月) 15:40:58.72ID:hFu+7Z6c
突っ込まれる前に
C#5まででもデフォルトコンストラクタを呼べば一応可能だった
906デフォルトの名無しさん
垢版 |
2017/06/05(月) 23:30:17.53ID:iyAPDj0t
WindowsFomアプリのUIに使うフォントって何がオススメ?
ちなWindows7機で
2017/06/05(月) 23:31:35.57ID:+rdFUdav
MSゴシック or MSPゴシック
2017/06/05(月) 23:34:59.63ID:W/kcYLNq
必ず入っているフォントなら見込み違いの表示崩れとか無いしな
2017/06/05(月) 23:37:32.63ID:hFu+7Z6c
普通に日本語ならUIゴシック、英語圏ならTahomaでいいでしょ。
910デフォルトの名無しさん
垢版 |
2017/06/05(月) 23:56:15.74ID:iyAPDj0t
ありがとう
意外にも普通な回答にびっくりだけど
よくオススメのフォントにあるメイリオはなんかUIにはたるんだ感じがしてしっくりこなかったのよね
2017/06/06(火) 00:03:48.51ID:RaNlh7mb
XP切り捨てでよければ(さすがにもういいかもしれん)メイリオでもいいかもしれんけど、
さすがにメニューやドロップダウンやグリッド系には使いづらいね
2017/06/06(火) 05:31:03.84ID:HK40XdCV
>>908
最近osの拡大率設定が125%とかなってて昔作ったもん全滅だった
見込み違いはないかも

さらにPC新調してから作ったものは125%でしか正しく表示できなかった
2017/06/06(火) 15:20:56.58ID:0R6Od0VL
UWP使えよ
2017/06/06(火) 15:42:24.60ID:QWKsgDqg
Win10時代だし、UWPで作った方がいいんかねぇ・・・
WinFormが便利過ぎて移れないw
2017/06/06(火) 16:13:38.01ID:S7dmZG1s
WPFもストアアプリも途中でぶん投げた今しばらく様子見ムード?
2017/06/06(火) 16:44:06.32ID:QWKsgDqg
これからはWPFの時代だよ!って言ってたのに、
あっさりUWPにしろって言い出したしなぁ
しかもUWPはシリアルポートとかの情報が少ないのがネック
2017/06/06(火) 16:53:10.50ID:jlCdnetV
デスクトップアプリをUWPにしろなんて言ってないでしょwww
2017/06/06(火) 17:13:58.50ID:1IA2XrQh
windows10 Visual Studio2017 C#でボタンを継承したカスタムコントロールを作ったのですが
実際にフォームに貼り付けてデバッグを開始したところ
フォームのInitializeComponentにおいてNullReferenceExceptionが発生してしまいました。
他の自作したカスタムコントロールでは発生しないので、まったく原因がわかりません。

実際に発生するコードは下の行です
this.buttonEx1.CorrectResponseColor = System.Drawing.Color.Empty;
buttonEx1 がnullであると言われてしまいます。

どなたか原因は分からないでしょうか
2017/06/06(火) 17:20:57.05ID:jlCdnetV
それで分かったらエスパーだよw
2017/06/06(火) 17:37:00.06ID:/Evb0TVs
>>918
buttonEx1 がnullであるってちゃんとbuttonEx1=new 〜で作っていないんじゃね?
あとはその継承した内容見ないと分からんよ
2017/06/06(火) 17:37:32.22ID:0w35IMTm
InitializeComponentより後ろに書け
2017/06/06(火) 18:28:55.59ID:SPVV3BvH
>>918
原因を調べて欲しいんならソースコード全部出せ
2017/06/06(火) 20:45:37.45ID:vbRZnttV
>>917
いや、そう見える

【マイクロソフト研究所】Win32からUWPへ――、アプリケーションの移行を進めるMicrosoft - クラウド Watch
http://cloud.watch.impress.co.jp/docs/column/microsoft/1056615.html

問答無用だぞ
2017/06/06(火) 20:50:59.15ID:SPVV3BvH
>>923
よく読め

>なお、デフォルトでは「任意の場所からのアプリを許可する」に設定されているため、
>今までと同じようにすべてのアプリケーションがインストールできる。
>すぐにWin32アプリケーションが利用できなくなる、という話ではないので、その点はご安心を。
2017/06/06(火) 20:55:30.59ID:75uQQyq/
>>916
>>808
2017/06/06(火) 21:09:08.72ID:FgG04McR
っていうかフラットデザインをデスクトップでもごり押しするならもうWindowsなんか使わんw
2017/06/06(火) 21:16:08.64ID:+oOec4F1
そりゃマイクロソフトとしちゃあ、UWPへの移行を促進したいのは山々だろうが、
笛吹いてみんなが付いてきてくれるかどうかだからな
マイクロソフトの持つ笛は、随分と昔に魔力を失ったように思えるが
まあ中身は実質Win32のなんちゃってだってUWP扱いだそうだから、それも含めて
いいんだったらねw
2017/06/06(火) 21:27:44.09ID:UBc0cyne
>>924
殺る気マンマンだろソレwww

ていうか逆に退路を残してあるのが信用出来ない
当然だけどある程度UWPのユーザが増えたら旧環境は切り捨てなんではないだろか?
んでやっぱり流行らなかったり方針を変えざるを得ない流れが来てしまったら
UWPも残念だったねと
世界のみんなの多数決次第?
2017/06/06(火) 23:01:12.88ID:kkdQmLPE
>>926
次のアップデートでまた新しいデザインシステム推してくるから大丈夫(?)だ
2017/06/06(火) 23:09:10.99ID:2bdSSkLF
そういやCommunity toolkitのロードマップだと、今月中に1.5リリースとなってるな(今は1.4)
2017/06/07(水) 00:04:31.85ID:mz7+HHz3
業務クライアントアプリはもうこのままWinFormsと心中させてあとはWebへどうぞという感じなんだろうね
932デフォルトの名無しさん
垢版 |
2017/06/07(水) 02:42:03.24ID:pdmLTJmR
UWPもWPFも作るにあたってそんな変わらなくない?
2017/06/07(水) 03:45:52.39ID:R65Kt66e
>>926
次のFluent Designもフラット。
さようなら。
2017/06/07(水) 04:52:19.95ID:MG60w+U/
フラットデザイン俺は好きだけどね
でも用意されたコントロール使ってもフラットになんねーのにイラッ
2017/06/07(水) 07:12:14.96ID:pKJ6pPG8
>>923の記事タイトルがミスリードっぽい
exeからappxへと書いてくれれば分かりやすいのに
936デフォルトの名無しさん
垢版 |
2017/06/07(水) 07:19:22.27ID:5R+RdKTB
tryのブロックにint i = "string";と書くと
catchに移動する前にデバッグすら出来ないんですが
tryに書けるエラーの基準とかあるんですか?
2017/06/07(水) 07:30:32.35ID:WQIQWgTH
>>936
tryより上で宣言して初期化してください
この時はvarは使えませんが
2017/06/07(水) 07:39:27.82ID:BAs4z1zZ
>>936
それはコンパイルエラー
間違っていることが明らかであり、試しに動かしてみる価値すらないゴミである
出直してこい、といわれて動かす前に門前払いされている状態
tryはそのエラーとは全く関係ない
2017/06/07(水) 07:52:01.04ID:7QhsLzGK
口の悪いコンパイラだな
940デフォルトの名無しさん
垢版 |
2017/06/07(水) 07:56:49.99ID:5R+RdKTB
>>937
事前に宣言は必須なんですね
>>938
実行時エラーってやつと区別されてたんですね。勉強になります。

返信ありがとうございました。
941デフォルトの名無しさん
垢版 |
2017/06/07(水) 07:57:44.22ID:pdmLTJmR
>>936
そんなあなたに
varを使ってみてはいかがでしょうか?

intをvarに変えるだけであら不思議!
2017/06/07(水) 08:13:59.26ID:898Dxfil
>>939
黙ってられるよりマシ
2017/06/07(水) 09:30:19.48ID:p48PqPV5
int i = "123";がコンパイルできないc#はクソ
みたいなスレがこの先バンバン立つだろうw
2017/06/07(水) 11:39:51.62ID:TVAfXG6P
>>935
ミスリードじゃねぇよ
普通に大手とかドメイン環境でwin32禁止来るだろ
2017/06/07(水) 12:13:45.56ID:AIh4vCR3
>>943
わざわざ入らない入れ物に突っ込むとかプログラマ以前にキチガイ
>>936は throw new ApplicationExceptionが欲しかったんじゃないのか
2017/06/07(水) 12:19:21.27ID:aMWxbBw7
今更>>923の記事読んでみたけど、普通に考えて無理筋だね。
ほとんどのユーザーに面倒を強いるだけでメリットが少ないUWP化なんぞ進むと思えない。
MSの偉い人はこんな計画が本当にうまくいくと思ってるのかな。
2017/06/07(水) 12:33:58.59ID:5u0dc6/r
>>946
UWPの通過点でしかないと思うよ。
2017/06/07(水) 12:34:47.01ID:5u0dc6/r
UWPも通過点でしかないと思うよ。

の誤りね
2017/06/07(水) 12:53:50.06ID:p48PqPV5
win32の上に乗ってる.net framework
その上に乗ってるUWP

win32叩きは異常
950デフォルトの名無しさん
垢版 |
2017/06/07(水) 13:04:16.58ID:pdmLTJmR
もっとも重宝されてるフリーウェアをUWP化すればお金入る?
2017/06/07(水) 13:07:50.25ID:tO58j6fY
UWPは.Net Frameworkの上に構築されるものではないのだが…
2017/06/07(水) 13:08:09.09ID:BAs4z1zZ
>>950
需要ない
UWPアプリを使う(とMSが想定している)ような層にアプローチするなら
UWPよりもWebサービスにした方がいい
2017/06/07(水) 13:35:44.28ID:tO58j6fY
o UWPのAppModel特有のローカルへの制限が厳しい。
 かなり緩くなるとはいえDesktop Bridgeも例外ではない
o XAMLの好き嫌いはともかくとして、用意されている標準コントロールがクソゴミ過ぎる。
 見た目、機能性、数のすべてに置いてウンコな廃棄物でありキーボードサポートなど貧弱の極み
o スマホアプリのようにWebサービス+APIのクライアントとしてなら有効な選択肢にもなるが
 PCの場合Webサービス+ブラウザで済んでしまう

絶望しかない…
2017/06/07(水) 13:39:14.47ID:sLr/nSma
同感
ネイティブとWEB版を足して10で割ったくらいの残念機能
2017/06/07(水) 13:52:16.48ID:aMWxbBw7
>>947
いや、コンバートのことを言ってるんじゃなくて
他の人も書いてるけどそもそもUWP自体のメリットがないとは言わないがかなり微妙...


ところでしょうもない質問だけど、C#のデストラクタってFinalizeを
オーバーライドするのと何が違うんだっけ?
2017/06/07(水) 14:03:28.62ID:tO58j6fY
ただの構文糖だからなんも違わない
混乱するだけだから採用しない方が良かったと言われ続けている負債である
2017/06/07(水) 14:12:06.29ID:BAs4z1zZ
FinalizeはオーバーライドすることでGCによるインスタンスの扱いが変わる特別なメソッドなので、
言語上も特別扱いすることはそれなりに理にかなっている
C++のデストラクタの構文を借りたのはクソだけど
2017/06/07(水) 14:13:26.31ID:aMWxbBw7
>>956-957
ありがとう!
2017/06/07(水) 14:45:19.77ID:pdmLTJmR
>C# で書いたデストラクターは、コンパイルすると Finalize というメソッドに変換されています。
>なので、デストラクターとは別に Finalize という名前のメソッドを書こうとすると、コンパイル エラーになります。

ホント酷い
2017/06/07(水) 14:47:50.46ID:wbJxkgsu
>>953
使ったことない人にはそう見えるかもしれんね
実際にはCommunity Toolkitという公式の拡張でコントロールは豊富だし
何と言っても.net nativeでの高速化と難読化要らずは代えがたい
あと、フリーウエアの場合に配布が容易なこととアンインストールが簡単なのもポイント高いよ
2017/06/07(水) 15:36:24.68ID:tO58j6fY
>>960
影だけレイアウト無視して配置されるDropShadowPanelや
ちゃんと丸め処理してなくて特定の幅で突然レイアウトが崩れるAdaptiveGridViewなどなど
ばぐまみれのUWP Community Toolkitがなんだって???
まあ修正しながら有難く使ってはいるよ

それはともかくTemplate Studioやら最近になってようやく標準コントロールの
絶望的な貧弱さをどうにかしようという動きがあることは理解してるよ
この程度の実装ですらコミュニティ頼りなのは気に食わんが
https://blogs.windows.com/buildingapps/2017/06/02/toolkits-toolkits-toolkits/
https://www.microsoft.com/store/apps/9nblggh4tlcq
https://www.microsoft.com/store/apps/9n3fgcz50qnl

今後目指していくのであろうこういうのも嫌いというわけじゃないのよ俺も
https://www.microsoft.com/store/apps/9pp1sb5wgnww

> 何と言っても.net nativeでの高速化と難読化要らずは代えがたい
> あと、フリーウエアの場合に配布が容易なこととアンインストールが簡単なのもポイント高いよ
そうだねユーザーもデベロッパーも笑顔になれる素晴らしいメリットだね、何もかもが駄目とも思ってないよ

でもその前にメリットへの導線をごっそりと引き千切る現実的なデメリットが如何ともしがたいという話なのよ
2017/06/07(水) 20:17:27.90ID:Wuu6XZh2
親の敵やねw
2017/06/07(水) 22:28:01.00ID:liR4rhVO
UWPはそろそろまともなプロセス間通信用意しろ
2017/06/07(水) 22:41:40.23ID:hhDTuKVW
コンバーター使いにくそうね
開発者モードにせずにexe右クリックしてコンバートとか
できないのかね
2017/06/08(木) 02:16:50.89ID:L/mCMieh
側だけ見ればUWPのメリットは結構あるから、msがどこまで本気で取り組むかだよな

>>928
VB6さえ動作させ続けるmicrosoftが何を切り捨てるって?
機能拡張は止まるかもしれんが
2017/06/08(木) 08:59:30.83ID:nTJCwNq1
>影だけレイアウト無視して配置されるDropShadowPanel
影で内側の大きさが変わる方が遥かに扱いにくいよ
どう見てもバグじゃなくて態々そう作ってあるんだよ

あんたが検索したサイト主の感性に合わなかっただけでしょうねw
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況