!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/
■コードを貼る場合はこちら
http://ideone.com/
■前スレ
C#, C♯, C#相談室 Part94
https://mevius.5ch.net/test/read.cgi/tech/1553075856/
■次スレは>>970が建てる事。
建てられない場合は他を指定する事。
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
C#, C♯, C#相談室 Part96
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 7633-kUv4)
2021/12/20(月) 11:03:25.88ID:sdn/+VfW0161デフォルトの名無しさん (アウアウウー Sac5-I38D)
2022/03/16(水) 19:53:52.54ID:KaTnXwmea 発生するぞw
162デフォルトの名無しさん (ワッチョイ 3d78-9pEf)
2022/03/16(水) 20:33:39.98ID:paMiN66w0 >>160
タブオーダーの変更も無効化されててマジゴミ
タブオーダーの変更も無効化されててマジゴミ
163デフォルトの名無しさん (ワッチョイ 4289-r+i/)
2022/03/16(水) 20:40:08.63ID:DWqldl790 .NET framework 4.8は永遠に不滅です( ー`дー´)キリッ
164デフォルトの名無しさん (ワッチョイ 7d02-WCXV)
2022/03/16(水) 21:36:45.42ID:b5JRB2Cp0 WindowsFormでやるなら、実際.NET framework安定だと思う
.NET5とか6でやるなら、他のUI選択した方がいい
.NET5とか6でやるなら、他のUI選択した方がいい
165デフォルトの名無しさん (アウウィフ FFcd-XTxC)
2022/03/26(土) 10:57:27.94ID:klc4wM2MF 初心者ですまんが、async/awaitでtaskの実行とtask自体の生成の責務が分離されてない気がするんだが
asyncの中にはawaitがあるもの(ないと警告)という連鎖はどこで切ればいいの?
最終的にインフラまで行ったとしてそこのasyncメソッドはawaitするものがなくなってしまうよな?
末端は警告を無視するか、Task.Runとかを作ってTaskを返すかなりしろってこと?
asyncの中にはawaitがあるもの(ないと警告)という連鎖はどこで切ればいいの?
最終的にインフラまで行ったとしてそこのasyncメソッドはawaitするものがなくなってしまうよな?
末端は警告を無視するか、Task.Runとかを作ってTaskを返すかなりしろってこと?
166デフォルトの名無しさん (アウアウウー Sacd-JpNp)
2022/03/26(土) 11:26:01.00ID:opZhrmyVa await hogesync();
↓
_= hogesync();
これで警告連鎖から逃げれる
↓
_= hogesync();
これで警告連鎖から逃げれる
167デフォルトの名無しさん (アウウィフ FFcd-XTxC)
2022/03/26(土) 11:38:25.92ID:klc4wM2MF >>166
いやそっちじゃなくCS1998の方
↓みたいなの
async Task hogeA {await hogeB();}
// 警告 CS1998
async Task hogeB{Console.WriteLine("hogeB");}
いやそっちじゃなくCS1998の方
↓みたいなの
async Task hogeA {await hogeB();}
// 警告 CS1998
async Task hogeB{Console.WriteLine("hogeB");}
168デフォルトの名無しさん (アウアウウー Sacd-JpNp)
2022/03/26(土) 12:14:52.53ID:opZhrmyVa asyncにする必要がないのはしなければいいだけ
async Task hogeB{Console.WriteLine("hogeB");}
↓
void hogeB(){}
asincじゃないけど、hogeB();って呼び出せばawait hogeB();と意味は変わらない
async Task hogeB{Console.WriteLine("hogeB");}
↓
void hogeB(){}
asincじゃないけど、hogeB();って呼び出せばawait hogeB();と意味は変わらない
169デフォルトの名無しさん (ブーイモ MM96-nQMq)
2022/03/26(土) 12:22:02.66ID:sDWgty5NM >>165
TaskCompletionSouece
TaskCompletionSouece
170デフォルトの名無しさん (ブーイモ MM96-nQMq)
2022/03/26(土) 12:30:11.96ID:sDWgty5NM あと、インターフェースの都合でasyncだけど実装は非同期である必要がない場合には、Task.FromResultやValueTaskやCompletedTaskを使うとよい
171デフォルトの名無しさん (アウアウウー Sacd-XTxC)
2022/03/26(土) 12:40:15.39ID:pvkpV0Laa >>168-170
サンクス
中身が同期やけど呼び出し元はそいつを非同期で待機したけりゃTask.Runとか使うしかないって事だよな
asyncの中身を同期だけにすると混乱を招きかねないけどawait可能なTaskを自動で作ってくれてスレッド復帰なんかも勝手にやってくれる分利点もありそうな気がするんだが
どうなんだろ
asyncじゃないTaskを返すメソッドを作る法がええんかも知れんけどめんどいよね
サンクス
中身が同期やけど呼び出し元はそいつを非同期で待機したけりゃTask.Runとか使うしかないって事だよな
asyncの中身を同期だけにすると混乱を招きかねないけどawait可能なTaskを自動で作ってくれてスレッド復帰なんかも勝手にやってくれる分利点もありそうな気がするんだが
どうなんだろ
asyncじゃないTaskを返すメソッドを作る法がええんかも知れんけどめんどいよね
172デフォルトの名無しさん (オッペケ Sr79-jbHl)
2022/03/26(土) 16:33:46.27ID:7Z9PIxRJr 違うんじゃね?
ある関数の内部処理で
状況によって同期の場合と非同期の場合に
スィッチする事は良くある
ある関数の内部処理で
状況によって同期の場合と非同期の場合に
スィッチする事は良くある
173デフォルトの名無しさん (ワッチョイ 0d32-S2l7)
2022/04/06(水) 10:28:00.42ID:OCQcEzvM0 ご存知の方いらっしゃいましたら教えてください
StreamReader urlReader = new StreamReader(urlStream, Encoding.UTF8);
string urlReadString = urlReader.ReadLine();
上記の関数使ってcharset=UTF-8が設定されてるURLを読み込んだときに
普通にテキストとして読み込めるときと、UTF-8の読み込みに失敗してEF BF BDが出力されるときがあるけど、
失敗するときって何か初期設定が足りてない?
それともReadLine()じゃなくて別の関数を使う?
StreamReader urlReader = new StreamReader(urlStream, Encoding.UTF8);
string urlReadString = urlReader.ReadLine();
上記の関数使ってcharset=UTF-8が設定されてるURLを読み込んだときに
普通にテキストとして読み込めるときと、UTF-8の読み込みに失敗してEF BF BDが出力されるときがあるけど、
失敗するときって何か初期設定が足りてない?
それともReadLine()じゃなくて別の関数を使う?
174デフォルトの名無しさん (テテンテンテン MM4b-g8k9)
2022/04/06(水) 10:40:24.67ID:/2SYAuGyM エンコーディング関係は、まず生バイトコードを確認しなさい
175デフォルトの名無しさん (スプッッ Sde1-z1p6)
2022/04/06(水) 11:06:48.61ID:BAnc7YwEd バイトコードでなくバイナリデータな
バイナリモードでファイル開いて読み込んで16進出力するか、
BZとかのバイナリエディタでファイルのバイナリを見るのがいい
バイナリモードでファイル開いて読み込んで16進出力するか、
BZとかのバイナリエディタでファイルのバイナリを見るのがいい
176デフォルトの名無しさん (テテンテンテン MM4b-g8k9)
2022/04/06(水) 12:14:51.33ID:XIBRKt28M URL言うとるやん
UTF8EncodingクラスでBOMの有無指定出来るけど、結局バイトコード確認しないと判定出来ん
UTF8EncodingクラスでBOMの有無指定出来るけど、結局バイトコード確認しないと判定出来ん
177デフォルトの名無しさん (ワッチョイ 45ac-ceAq)
2022/04/06(水) 18:52:21.62ID:IJ3XlCfB0 ばいなり()
178デフォルトの名無しさん (アウアウウー Sae9-xcJo)
2022/04/06(水) 19:11:31.46ID:oIHs85Eca バイナリであってるだろ。むしろバイトコードって使いかた初めて聞いたぞ
urlならその内容をファイルに落として開いて確認するのが楽
それが面倒な場合はコードからstreamをファイルに落として確認
urlならその内容をファイルに落として開いて確認するのが楽
それが面倒な場合はコードからstreamをファイルに落として確認
179デフォルトの名無しさん (ワッチョイ 2d02-KXHF)
2022/04/06(水) 19:15:36.12ID:aGcf2Kai0 ファイル落とさんでもVSで配列取得すればデバッグで確認できるやろ
180デフォルトの名無しさん (アウアウウー Sae9-xcJo)
2022/04/06(水) 19:26:15.02ID:oIHs85Eca streamはデバッガで直接中身見れない(よな?)のと
(俺が使ってる外部バイナリエディタは)エンコーディング自動判別してくれるから俺にとってはファイルの方が楽
ほかの人にとってはわからないな
(俺が使ってる外部バイナリエディタは)エンコーディング自動判別してくれるから俺にとってはファイルの方が楽
ほかの人にとってはわからないな
181デフォルトの名無しさん (ワッチョイ 1b10-hDwl)
2022/04/06(水) 19:26:20.34ID:8tuXZutt0 EF BB BFってUTF-8のBOMだよね
detectEncodingFromByteOrderMarksの指定がある
詳しくはEncoding.GetPreambleで調べる
detectEncodingFromByteOrderMarksの指定がある
詳しくはEncoding.GetPreambleで調べる
182デフォルトの名無しさん (ワッチョイ 2d02-KXHF)
2022/04/06(水) 19:27:06.07ID:aGcf2Kai0 文字コードを判別する
https://dobon.net/vb/dotnet/string/detectcode.html
ReadJEnc C#(.NET)用ファイル文字コード種類自動判別ライブラリ
https://github.com/hnx8/ReadJEnc
このへんでいけるんじゃないかね
https://dobon.net/vb/dotnet/string/detectcode.html
ReadJEnc C#(.NET)用ファイル文字コード種類自動判別ライブラリ
https://github.com/hnx8/ReadJEnc
このへんでいけるんじゃないかね
183デフォルトの名無しさん (ワッチョイ 2d02-KXHF)
2022/04/06(水) 19:32:51.40ID:aGcf2Kai0 >>181
指定だけで自動判定出来るなら、そっちの方が楽そうね
指定だけで自動判定出来るなら、そっちの方が楽そうね
184デフォルトの名無しさん (ワッチョイ 6f24-soYJ)
2022/04/11(月) 20:16:43.58ID:2IiYezuY0 ソースジェネレーターってnetstandard2.0だからWinFormsは参照不可能?
ソースジェネレーター側で参照できずともまあ良いんだけど、出来ればWinFormsのいくつかのクラスからコンパイル時リフレクションで色々取り出したいのだが
ソースジェネレーター側で参照できずともまあ良いんだけど、出来ればWinFormsのいくつかのクラスからコンパイル時リフレクションで色々取り出したいのだが
185デフォルトの名無しさん (ワッチョイ cb02-9+GH)
2022/04/11(月) 20:33:51.13ID:M/snaKK00 ソースジェネレータで何を生成したいん?
186デフォルトの名無しさん (ワッチョイ c28b-xb3m)
2022/04/13(水) 17:04:49.00ID:5l1VnwO30 C#からPowserShellを実行して
登録済みのVPN一覧を取得しようとしています。
コマンド発行までは出来たのですが戻り値
Name ServerAddress の取得が出来ません。
どの様なコードを書けばよいでしょうか?
using (var invoker = new RunspaceInvoke())
{
var result = invoker.Invoke(source);
}
resultに値が入るハズなのですが・・・分かりません。
PowerShell上で実行するとVPN一覧が表示されています。
登録済みのVPN一覧を取得しようとしています。
コマンド発行までは出来たのですが戻り値
Name ServerAddress の取得が出来ません。
どの様なコードを書けばよいでしょうか?
using (var invoker = new RunspaceInvoke())
{
var result = invoker.Invoke(source);
}
resultに値が入るハズなのですが・・・分かりません。
PowerShell上で実行するとVPN一覧が表示されています。
187デフォルトの名無しさん (ワッチョイ 0b78-EhK1)
2022/04/13(水) 18:50:59.56ID:e0uLmTvD0 マルチ死ね
188デフォルトの名無しさん (ワッチョイ c633-iXSd)
2022/04/13(水) 18:59:25.77ID:zw+GE19b0 >>186
グロ
グロ
189デフォルトの名無しさん (ワッチョイ 2289-Otnk)
2022/04/13(水) 19:26:25.04ID:nybfnzFR0 >>186
resultの中身をデバッガーで見てみなよ
resultの中身をデバッガーで見てみなよ
190デフォルトの名無しさん (ワッチョイ c28b-xb3m)
2022/04/13(水) 19:52:25.67ID:5l1VnwO30 >>189
動的ビューというところに値がありました。
new Microsoft.CSharp.RuntimeBinder.DynamicMetaObjectProviderDebugView(result[0]).Items[24]
result[0]
BaseObject
ImmediateBaseObject
Members
Methods
Properties
TypeNames
本来であれば、この中のどこかに入ると思うのですが見つかりません。
動的ビューというところに値がありました。
new Microsoft.CSharp.RuntimeBinder.DynamicMetaObjectProviderDebugView(result[0]).Items[24]
result[0]
BaseObject
ImmediateBaseObject
Members
Methods
Properties
TypeNames
本来であれば、この中のどこかに入ると思うのですが見つかりません。
191デフォルトの名無しさん (ワッチョイ c633-iXSd)
2022/04/13(水) 20:53:24.06ID:zw+GE19b0 >>190
もう一方の方でも返信きてるぞ
もう一方の方でも返信きてるぞ
192デフォルトの名無しさん (ワッチョイ c28b-xb3m)
2022/04/13(水) 23:57:25.49ID:5l1VnwO30 >>191
ありがとうございます。
ありがとうございます。
193デフォルトの名無しさん (ワッチョイ ffe3-X/6k)
2022/04/18(月) 12:25:35.83ID:UzqEtN9Q0 これはマルチのお手本
194デフォルトの名無しさん (アウアウウー Sa1b-Om2K)
2022/04/22(金) 17:18:18.78ID:11YPP3hWa 内部クラスから外のprivateなenumの型を直接参照できるのはどうしてでしょうか?
public class A {
private enum ZZZ {a, b, c}
class B {
Console.Writeline("number = " + (int)ZZZ.a); // なぜenumだけこれが許されるのか
}}
public class A {
private enum ZZZ {a, b, c}
class B {
Console.Writeline("number = " + (int)ZZZ.a); // なぜenumだけこれが許されるのか
}}
195デフォルトの名無しさん (ブーイモ MM8f-m76R)
2022/04/22(金) 17:20:58.21ID:QpAASndCM enumだけが許されるわけではない
196デフォルトの名無しさん (アウアウウー Sa1b-Om2K)
2022/04/22(金) 17:32:06.89ID:11YPP3hWa よろしければそのルールについて学べるようなヒントとかキーワードを教えて頂けると助かります。
197デフォルトの名無しさん (アウアウウー Sa1b-MZ5k)
2022/04/22(金) 17:56:13.35ID:cNb4vicFa privateはそこに含まれるのに対してアクセスおkって定義だからアクセスできる
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/basic-concepts#752-declared-accessibility
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/basic-concepts#752-declared-accessibility
198デフォルトの名無しさん (アウアウウー Sa1b-Om2K)
2022/04/22(金) 19:10:42.44ID:11YPP3hWa ありがとうございます。enumが暗黙的にstaticなら都合がいいのでそういう事にします
199デフォルトの名無しさん (ワッチョイ ff33-VvbW)
2022/04/22(金) 19:17:02.27ID:X/HcvjX50 親のオブジェクトも取得できれば便利なのにな。
200デフォルトの名無しさん (スッップ Sdbf-RPPK)
2022/04/22(金) 20:30:49.13ID:XRzGPZH0d 派生クラスとInnerクラスをごっちゃにするなよ?
外側のクラスのインスタンスさえ得られればprivateにアクセスし放題だったり
外側のクラスのインスタンスさえ得られればprivateにアクセスし放題だったり
201デフォルトの名無しさん (オイコラミネオ MM6b-+1fN)
2022/04/22(金) 21:18:57.90ID:gmnEH6VvM >>199
循環参照になるから…
循環参照になるから…
202デフォルトの名無しさん (ワッチョイ 3a10-fLUy)
2022/04/25(月) 12:56:21.20ID:zhSuRXyD0 xxxx.exeで
var args = Environment.GetCommandLineArgs()
のargs[0]が xxxx.dll だった・・・
var args = Environment.GetCommandLineArgs()
のargs[0]が xxxx.dll だった・・・
203デフォルトの名無しさん (ワッチョイ ce6e-ZXX2)
2022/04/29(金) 23:05:58.93ID:ZxkWaM0v0 関数のエラーを表現するのってどういうのが一番C#のスタイルに合うんでしょうか
例えば公式のtryparseなんてbool返しますよね。でも例外投げるって手もありますよね。なんか職場の古いおっさんははるか昔のCのやり方そのまま0とか-1とか返してるし
例えば公式のtryparseなんてbool返しますよね。でも例外投げるって手もありますよね。なんか職場の古いおっさんははるか昔のCのやり方そのまま0とか-1とか返してるし
204デフォルトの名無しさん (ワッチョイ ae2c-dMjb)
2022/04/29(金) 23:18:22.51ID:Hw91ocej0 メソッド次第、エラー次第 これ一つでオールオッケーなんて物はない
って当たり前の答えにしかならないよ
って当たり前の答えにしかならないよ
205デフォルトの名無しさん (アウアウウー Sab5-mHJH)
2022/04/29(金) 23:19:40.25ID:oqakQFJca 普通はboolでいいよ
処理中断したいよってな想定外の失敗は例外
処理中断したいよってな想定外の失敗は例外
206デフォルトの名無しさん (ワッチョイ 8cbb-z20x)
2022/04/29(金) 23:54:03.84ID:ojB4mgIH0 例外は重いからね
207デフォルトの名無しさん (ワッチョイ 0702-hGrh)
2022/04/30(土) 00:24:41.78ID:QtDBeglS0208デフォルトの名無しさん (ワッチョイ df01-nj6J)
2022/04/30(土) 06:39:16.16ID:OR8SZm5l0 >>203
> 例えば公式のtryparseなんてbool返しますよね。でも例外投げるって手もありますよね。
だからTryParseとParseの両方あるでしょ
汎用性を求めるなら両方用意すればいいし特定の場合だけなら使いやすい方を用意すればいいと思うよ
> 例えば公式のtryparseなんてbool返しますよね。でも例外投げるって手もありますよね。
だからTryParseとParseの両方あるでしょ
汎用性を求めるなら両方用意すればいいし特定の場合だけなら使いやすい方を用意すればいいと思うよ
209デフォルトの名無しさん (テテンテンテン MM8f-dUGE)
2022/04/30(土) 07:00:58.78ID:OalUk2/jM 「エラー」を表すなら例外一択
そうするとtryブロック内に書かれている処理は正常系だけ、catchブロック内が異常系だけになって
ソースコードが明瞭になるし異常系ロジックをcatchの1か所に集約できる
こういう書き方に慣れるといちいち1処理行うごとに戻り値if分岐してるような書き方のダサさが分かる
例外が重いってのもたしかにその通りなんだけどまあ1回こっきり投げるだけなら許容範囲かな
そうするとtryブロック内に書かれている処理は正常系だけ、catchブロック内が異常系だけになって
ソースコードが明瞭になるし異常系ロジックをcatchの1か所に集約できる
こういう書き方に慣れるといちいち1処理行うごとに戻り値if分岐してるような書き方のダサさが分かる
例外が重いってのもたしかにその通りなんだけどまあ1回こっきり投げるだけなら許容範囲かな
210デフォルトの名無しさん (ワッチョイ 7fcf-Vdv4)
2022/04/30(土) 07:37:56.60ID:3TsZhUq60 >>203
C流儀のintは成功が0だからboolと混在させると厄介なんだよな。
C流儀のintは成功が0だからboolと混在させると厄介なんだよな。
211デフォルトの名無しさん (ワッチョイ df01-nj6J)
2022/04/30(土) 08:06:49.00ID:OR8SZm5l0212デフォルトの名無しさん (ワッチョイ 7fcf-Vdv4)
2022/04/30(土) 08:13:30.52ID:3TsZhUq60 ほら、成功か失敗かを返すだけなら成功=0が一般的だったんだよ。
https://www.jpcert.or.jp/sc-rules/c-err33-c.html
https://www.jpcert.or.jp/sc-rules/c-err33-c.html
213デフォルトの名無しさん (アウアウウー Saab-qJ84)
2022/04/30(土) 08:14:04.30ID:VP7AAWWpa やっぱboolってintみたいな構造体より重いんか?
214デフォルトの名無しさん (ワッチョイ 7fda-w47B)
2022/04/30(土) 08:15:37.08ID:Ce086BTG0 どちらもスカラーやろ
215デフォルトの名無しさん (ワッチョイ df89-p2QP)
2022/04/30(土) 08:17:51.61ID:Hl+yZMpS0 >>203
普通は例外一択です。
普通は例外一択です。
216デフォルトの名無しさん (ワッチョイ c749-c3mi)
2022/04/30(土) 09:29:44.98ID:/k/F8o6k0 おじいちゃんも多いので意見が分かれやすいですね
217デフォルトの名無しさん (ワッチョイ 0702-hGrh)
2022/04/30(土) 10:04:25.38ID:QtDBeglS0 エラーの内容を精査する必要があるなら、エラーコードなりを持たせた例外スローするけど
単純な失敗成功だけ見たいならbool返すかな
単純な失敗成功だけ見たいならbool返すかな
218デフォルトの名無しさん (ワッチョイ 7fda-w47B)
2022/04/30(土) 10:32:08.49ID:Ce086BTG0 例外のコストが高いからね
219デフォルトの名無しさん (ワッチョイ e724-OrLt)
2022/04/30(土) 11:13:28.89ID:UYlijuGg0 >>211
C/CPPのライブラリは0が成功って割と多い
多分210が言いたいのはCにはbool型なんて無くてintをBOOLとして扱ってるからC的には0x100000はTRUE、C#的にはbyte化されて0となりfalseになるから注意ってことを言いたいんだと思うが
C/CPPのライブラリは0が成功って割と多い
多分210が言いたいのはCにはbool型なんて無くてintをBOOLとして扱ってるからC的には0x100000はTRUE、C#的にはbyte化されて0となりfalseになるから注意ってことを言いたいんだと思うが
220デフォルトの名無しさん (ワッチョイ e724-OrLt)
2022/04/30(土) 11:14:35.66ID:UYlijuGg0 >>213
別に重くない
例えば関数の戻り値でtrue表現するためのアセンブラは
intだとmov eax, 1
boolだとmov al, 1
アセンブリコードの使用バイト数的には同じか後者の方が小さかったはず
別に重くない
例えば関数の戻り値でtrue表現するためのアセンブラは
intだとmov eax, 1
boolだとmov al, 1
アセンブリコードの使用バイト数的には同じか後者の方が小さかったはず
221デフォルトの名無しさん (アウアウウー Saab-qJ84)
2022/04/30(土) 11:34:36.31ID:VP7AAWWpa >>220
ありがとう。delegateにPredicateってあるからその用途でfuncだと重いのかと思ってた
ありがとう。delegateにPredicateってあるからその用途でfuncだと重いのかと思ってた
222デフォルトの名無しさん (ワッチョイ 7fda-w47B)
2022/04/30(土) 11:39:28.25ID:Ce086BTG0 C#がネイティブコード出力するならそうだろうなぁ
223デフォルトの名無しさん (ワッチョイ df01-nj6J)
2022/04/30(土) 12:00:38.37ID:OR8SZm5l0224デフォルトの名無しさん (ワッチョイ e724-OrLt)
2022/04/30(土) 12:01:55.46ID:UYlijuGg0225デフォルトの名無しさん (ワッチョイ df89-p2QP)
2022/04/30(土) 12:13:31.51ID:Hl+yZMpS0 >>224
最終的にはマシン語になるわけだから同じでしょ。
最終的にはマシン語になるわけだから同じでしょ。
226デフォルトの名無しさん (ブーイモ MM8f-LGrz)
2022/04/30(土) 12:20:54.96ID:UbbzWFWaM >>221
デリゲート呼び出しはそれ自体がまあまあ重いぞ
少なくとも条件分岐にboolとintどっちを使用するかなどという微々たる差を全く無視できる程度にはな
そしてデリゲート呼び出しも普通はIOに比べたら誤差だから全く無視してよい
デリゲート呼び出しはそれ自体がまあまあ重いぞ
少なくとも条件分岐にboolとintどっちを使用するかなどという微々たる差を全く無視できる程度にはな
そしてデリゲート呼び出しも普通はIOに比べたら誤差だから全く無視してよい
227デフォルトの名無しさん (ワッチョイ 0702-hGrh)
2022/04/30(土) 12:49:03.04ID:QtDBeglS0 簡易的に確認したいなら、
https://sharplab.io/
でResultにJIT Asm選べばアセンブリコード見れるぞ
単純な型なら、Release選ぶと殆ど元の型や関数呼び出し残らないのが確認出来る
https://sharplab.io/
でResultにJIT Asm選べばアセンブリコード見れるぞ
単純な型なら、Release選ぶと殆ど元の型や関数呼び出し残らないのが確認出来る
228デフォルトの名無しさん (ワッチョイ e724-OrLt)
2022/04/30(土) 13:57:37.11ID:UYlijuGg0229デフォルトの名無しさん (ワッチョイ fb6e-S2Xa)
2022/05/09(月) 19:30:59.59ID:BZKielY90 C#/MVVMでお絵かきソフトのようなことをやる必要があります。ドラッグして長方形を書いたり、それを選択して移動したりみたいな。多分inkcanvasとか使うんですかね?
それで色々と調べているのですが、コードビハインドから除外するというのがどうも難しくて何がなんだかわかりません。ビヘイビアだのコマンドだのどうやって実装したものか途方に暮れています
以前formsで同じようなものを作ってそのときは普通に実装出来たのでコードビハインドさえ使っていいなら普通に行けるだろうにという状況です
MVVMでviewのビハインドからコードを除外するというのはもう絶対に守るべきものなのでしょうか
それで色々と調べているのですが、コードビハインドから除外するというのがどうも難しくて何がなんだかわかりません。ビヘイビアだのコマンドだのどうやって実装したものか途方に暮れています
以前formsで同じようなものを作ってそのときは普通に実装出来たのでコードビハインドさえ使っていいなら普通に行けるだろうにという状況です
MVVMでviewのビハインドからコードを除外するというのはもう絶対に守るべきものなのでしょうか
230デフォルトの名無しさん (ワッチョイ cfe6-u2F+)
2022/05/09(月) 19:40:32.75ID:TPAlWSfJ0 必要なんだろ
出題者に聞けよ
出題者に聞けよ
231デフォルトの名無しさん (ワッチョイ aaf1-9/7F)
2022/05/09(月) 19:41:23.37ID:YUxIU5Ky0232デフォルトの名無しさん (ワッチョイ aa89-JO+5)
2022/05/09(月) 20:21:28.09ID:mjdEI+Ny0 >>229
原理主義者やっても幸せにはなれないぞ
原理主義者やっても幸せにはなれないぞ
233デフォルトの名無しさん (ブーイモ MMe6-nt15)
2022/05/09(月) 20:24:22.51ID:ns3gCkSAM234デフォルトの名無しさん (ワッチョイ da42-zDU0)
2022/05/09(月) 21:43:08.37ID:UnFDSJiw0 MVVM原理主義から見たらかなりインチキ臭いServiceってやり方で、MやVMからControlにアクセスするやり方が一般的かな
Canvasのプロパティーを持って、そこにアクセスするためのメソッドやプロパティーが入ったServiceクラスを作って、それを例えばVMのプロパティーにする
で、Viewが初期化された時にそのクラスを生成してプロパティーのCanvasに実態を設定する
そのクラスをVMの該当プロパティーにインジェクションする
わかりにくいだろうが、どっかに上手いこと書いてある解説でも探してくれ
Canvasのプロパティーを持って、そこにアクセスするためのメソッドやプロパティーが入ったServiceクラスを作って、それを例えばVMのプロパティーにする
で、Viewが初期化された時にそのクラスを生成してプロパティーのCanvasに実態を設定する
そのクラスをVMの該当プロパティーにインジェクションする
わかりにくいだろうが、どっかに上手いこと書いてある解説でも探してくれ
235デフォルトの名無しさん (ワッチョイ aaf1-9/7F)
2022/05/10(火) 08:48:07.33ID:CCpF9W9X0 普段c++でUIコントロール作ってるような開発者が
c#版作るからってわざわざMVVMなんか使うわけないでしょーーが
c#版作るからってわざわざMVVMなんか使うわけないでしょーーが
236デフォルトの名無しさん (ワッチョイ 3ebb-0tmp)
2022/05/10(火) 16:27:35.44ID:A0speGA90 普段WinFormとかでUI作ってる人に聞きたいんだけど
値の変化をリアルタイムでUIに反映する場合ってどうやってんの?
値が変化する箇所全てに画面の更新処理入れる感じ?
値の変化をリアルタイムでUIに反映する場合ってどうやってんの?
値が変化する箇所全てに画面の更新処理入れる感じ?
237デフォルトの名無しさん (ワッチョイ 7e33-SYw5)
2022/05/10(火) 17:07:52.87ID:Qwl7JHFX0 >>236
うちの場合は画面にUpdate()なりをつくって、そのメソッド内に基本的に全部のコントロールの更新処理を書いて、必要な時に呼び出してる。
DataGridViewなど必要な時にしか更新しないものは、Update(bool all)などで処理を分けて対応してるかな。
パフォーマンスに問題ない限りは、富豪的プログラミングが管理しやすいと思う。
うちの場合は画面にUpdate()なりをつくって、そのメソッド内に基本的に全部のコントロールの更新処理を書いて、必要な時に呼び出してる。
DataGridViewなど必要な時にしか更新しないものは、Update(bool all)などで処理を分けて対応してるかな。
パフォーマンスに問題ない限りは、富豪的プログラミングが管理しやすいと思う。
238デフォルトの名無しさん (アウアウウー Sa1f-e+q+)
2022/05/10(火) 17:15:20.22ID:O/q6MN3Ra SetValueWithRefresh(newvalue)みたいな代入と更新同時にする関数作って代入はそれでやれってするとか
プロパティのsetterにonvaluechangeみたいなeventhandlerおいといてそこ経由して更新させるとか
ちまちま代入と同時に更新処理直接呼ぶとか
>>237みたいな富豪的なのもあるな
状況によりけりだよ
プロパティのsetterにonvaluechangeみたいなeventhandlerおいといてそこ経由して更新させるとか
ちまちま代入と同時に更新処理直接呼ぶとか
>>237みたいな富豪的なのもあるな
状況によりけりだよ
239デフォルトの名無しさん (オイコラミネオ MM9b-1CQB)
2022/05/10(火) 17:40:18.23ID:e+qIs2vlM >>236
ReactiveExtensions
ReactiveExtensions
240デフォルトの名無しさん (ワッチョイ 9f02-HkNE)
2022/05/10(火) 17:58:34.60ID:Bl3IG8H50 シンプルにやるなら、Timerから更新用のメソッド呼べばいいんじゃね
241デフォルトの名無しさん (ワッチョイ 2f2f-vjB4)
2022/05/10(火) 22:55:43.68ID:eH6jeiBY0242デフォルトの名無しさん (テテンテンテン MMe6-0R8h)
2022/05/13(金) 13:29:25.82ID:c/0e0c1OM 初心者です。
c#でアプリ作成したのですが、自己署名証明書がないと、アプリ起動時、発行元不明の警告が出ますよね?
みなさんどうやってその警告を回避してますか?
何かいい方法があれば教えてほしいです。
c#でアプリ作成したのですが、自己署名証明書がないと、アプリ起動時、発行元不明の警告が出ますよね?
みなさんどうやってその警告を回避してますか?
何かいい方法があれば教えてほしいです。
243デフォルトの名無しさん (アウアウウー Sa1f-e+q+)
2022/05/13(金) 14:18:26.21ID:UQ7pCVsua 配布するなら正攻法は証明書取得
個人でもできる。公証人に書類つくってもらって証明機関に申請すればいい。5年ごとに8万円ぐらい
個人でもできる。公証人に書類つくってもらって証明機関に申請すればいい。5年ごとに8万円ぐらい
244デフォルトの名無しさん (ワッチョイ da42-zDU0)
2022/05/13(金) 14:33:27.72ID:msJ+xhZt0 一番安いのはWindowsStoreで、一度だけ18か18ドルぐらい払えばよかったはず
245デフォルトの名無しさん (ワッチョイ cbba-0R8h)
2022/05/13(金) 18:46:21.48ID:TYJN2jsR0246デフォルトの名無しさん (ワッチョイ 2f2f-vjB4)
2022/05/13(金) 22:05:38.65ID:pmeFRqGo0 つか自己署名なら自分で勝手に作ればいいわけで...
自己署名じゃないちゃんとした証明書が必要なんだろうと
自己署名じゃないちゃんとした証明書が必要なんだろうと
247デフォルトの名無しさん (ワッチョイ cbba-0R8h)
2022/05/13(金) 22:24:43.10ID:TYJN2jsR0 >>246
自己署名の話を皆様に聞いた理由は、他の人のPCにインストールした際に、不明な発行元と表示されてしまうのを回避したい と言う理由だけなんです。
不明な発行元と警告が出る種類も何パターンかありますよね?
フォームで出るパターン と、ブルースクリーンの様な画面で出るパターン
この両方の警告に対応するには、お金を支払い自己署名するしかないのかなあと漠然と考えてました。
その自分で作成する方法(オレオレ自己署名)も見たのですが、アプリではない感じだったので、、あまり詳しく理解できていません。。
自己署名の話を皆様に聞いた理由は、他の人のPCにインストールした際に、不明な発行元と表示されてしまうのを回避したい と言う理由だけなんです。
不明な発行元と警告が出る種類も何パターンかありますよね?
フォームで出るパターン と、ブルースクリーンの様な画面で出るパターン
この両方の警告に対応するには、お金を支払い自己署名するしかないのかなあと漠然と考えてました。
その自分で作成する方法(オレオレ自己署名)も見たのですが、アプリではない感じだったので、、あまり詳しく理解できていません。。
248デフォルトの名無しさん (ワッチョイ becf-HkNE)
2022/05/13(金) 22:29:59.42ID:cpvIzMAY0 「自己署名」を間違えて理解してるんじゃね?
249デフォルトの名無しさん (ワッチョイ cbba-0R8h)
2022/05/13(金) 22:55:59.91ID:TYJN2jsR0250デフォルトの名無しさん (ワッチョイ 2e2d-HNGk)
2022/05/13(金) 23:18:12.14ID:S8Zs+Y9A0251デフォルトの名無しさん (アウアウウー Sa1f-e+q+)
2022/05/13(金) 23:41:37.05ID:btyzcX5fa >>249は認識あってるよ
>>248はたぶん自己署名=オレオレ署名と勘違いしてるだけ
発行してもらった正規のでもオレオレのを使っても自己署名には変わらない
自己署名 =自分でexeに対して電子署名すること
電子署名 =電子的な署名
電子証明書=自己署名やsslなどで必要になるやつ(一般的には公的機関からのものを指すけど、自分で作ったのも含む)
オレオレ証明書 =自分で作った電子証明書
オレオレ署名 =オレオレ証明書を使った電子署名
コードサイニング証明書=電子証明書のうち、exeなどの署名に特化したもの(公的機関から買う。自分で作ったのは汎用的だからこう呼ぶことはない)
自己署名証明書 ≒コードサイニング証明書
>>248はたぶん自己署名=オレオレ署名と勘違いしてるだけ
発行してもらった正規のでもオレオレのを使っても自己署名には変わらない
自己署名 =自分でexeに対して電子署名すること
電子署名 =電子的な署名
電子証明書=自己署名やsslなどで必要になるやつ(一般的には公的機関からのものを指すけど、自分で作ったのも含む)
オレオレ証明書 =自分で作った電子証明書
オレオレ署名 =オレオレ証明書を使った電子署名
コードサイニング証明書=電子証明書のうち、exeなどの署名に特化したもの(公的機関から買う。自分で作ったのは汎用的だからこう呼ぶことはない)
自己署名証明書 ≒コードサイニング証明書
252デフォルトの名無しさん (ブーイモ MM8a-vr7z)
2022/05/13(金) 23:59:49.70ID:I/jceGHeM すごい認識だな
253デフォルトの名無しさん (ワッチョイ 9b2f-PM07)
2022/05/14(土) 00:14:27.18ID:3IgnexNy0254デフォルトの名無しさん (ワッチョイ 736a-Q28P)
2022/05/14(土) 00:31:05.21ID:multK6hC0 あ、オレオレ定義のアウアウウーさんだ
255デフォルトの名無しさん (アウアウウー Sa31-mOD9)
2022/05/14(土) 00:45:49.42ID:q1SIpySda256デフォルトの名無しさん (ワッチョイ 9b2f-PM07)
2022/05/14(土) 01:12:09.43ID:3IgnexNy0 >>255
つまりお前は自己署名証明書での署名も「まともな署名」としてあつかうんだな
つまりお前は自己署名証明書での署名も「まともな署名」としてあつかうんだな
257デフォルトの名無しさん (ワッチョイ abcf-7P1Y)
2022/05/14(土) 01:17:06.48ID:YyWH0a110258デフォルトの名無しさん (ワッチョイ abcf-7P1Y)
2022/05/14(土) 01:23:01.16ID:YyWH0a110 >自己署名 =自分でexeに対して電子署名すること
なんだこれ?こんな用法見たことない。
なんだこれ?こんな用法見たことない。
259デフォルトの名無しさん (ワッチョイ d32d-hFP2)
2022/05/14(土) 01:40:53.18ID:41BaXtRu0 >>251,255
その出鱈目どこで覚えた?
字面から想像しただけかな
https://e-words.jp/w/%E8%87%AA%E5%B7%B1%E7%BD%B2%E5%90%8D%E8%A8%BC%E6%98%8E%E6%9B%B8.html
その出鱈目どこで覚えた?
字面から想像しただけかな
https://e-words.jp/w/%E8%87%AA%E5%B7%B1%E7%BD%B2%E5%90%8D%E8%A8%BC%E6%98%8E%E6%9B%B8.html
260デフォルトの名無しさん (テテンテンテン MM17-7Nhq)
2022/05/14(土) 10:41:44.00ID:XXC0KMFKM■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【対日戦略】中国とロシア、対日共闘で一致 「軍国主義復活に反撃」… [BFU★]
- トランプ大統領、米台関係深化に向けた法案に署名 ★2 [少考さん★]
- 中国公演中止嘆くミュージシャン、批判的な声に「一体ここはいつの時代の日本なのだ?」「日本帝国時代の轍を踏まないようにしなくては」 [muffin★]
- 【速報】長期金利上昇、一時1.890% [蚤の市★]
- チキンラーメンやカップヌードル、来年4月から5-11%値上げ…袋麺の日清ラ王などは内容量減らす [蚤の市★]
- 北川景子『お好み焼き+白米』組み合わせに夫・DAIGOは「どっちも炭水化物でしょ?どっちかでいいんじゃない?」否定的で「違う違う」 [muffin★]
- 細田守に異変・・・新作果てしなきスカーレットの興業収入が前作の1/10の7億円に激減か [329329848]
- 【悲報】ホロライブさん、もうダメそう
- 【高市動くな】 高市総理、中東問題に首を突っ込むべく これから動く模様……。 これヤバいだろ 😱 [485983549]
- 【速報】トランプ「アメリカはいつも日本人から搾取され続けてきた、絶対に許さない」 [339035499]
- 高市早苗、海外ではすでにバカ者扱い。国内はネット工作できても海外では工作できない模様。ネットサポーターズは何してるの?😲 [521921834]
- 台湾人(親日)、日本国旗を掲げて習近平と中国旗を踏みにじるwwwwwwwwwwwwwwwwwwwwww [329329848]
