!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/+VfW0146デフォルトの名無しさん (ワッチョイ 7d02-WCXV)
2022/03/15(火) 21:33:53.42ID:NI5jmOXt0 [Intrinsic]
がついてるメソッドは、Release時に特殊な最適化が走ってる筈なんだけど
それが誤動作するケースがあるのかもしらん(あくまで想像)
がついてるメソッドは、Release時に特殊な最適化が走ってる筈なんだけど
それが誤動作するケースがあるのかもしらん(あくまで想像)
147142 (ワッチョイ 1232-IMun)
2022/03/15(火) 21:41:55.33ID:ZTE9InWz0 あー同じような判定コードを読み間違えた
タイムトラベルは起きてないけど、代入もヌル判定もなくなってる感じかな
>>144
そう、片方が0なら実質意味はないから加算命令が現れなくても不思議ではないけど
Console.WriteLine(x);としてみても固定アドレス0をデリファレンスするので
xが常にぬるぽ扱いになってしまっている様ではある
C#的には未定義なら未定義でビルド時か実行時にエラーを出しそうだけど
Unsafeでチェックされないのか判断に困る。さもなければ最適化のバグだと思う
タイムトラベルは起きてないけど、代入もヌル判定もなくなってる感じかな
>>144
そう、片方が0なら実質意味はないから加算命令が現れなくても不思議ではないけど
Console.WriteLine(x);としてみても固定アドレス0をデリファレンスするので
xが常にぬるぽ扱いになってしまっている様ではある
C#的には未定義なら未定義でビルド時か実行時にエラーを出しそうだけど
Unsafeでチェックされないのか判断に困る。さもなければ最適化のバグだと思う
148デフォルトの名無しさん (ワッチョイ 8dc1-EzgM)
2022/03/15(火) 22:00:29.13ID:RZxqxi620 winforms
dbの値は、dataset . datatable以外で、どうやって取得するの? list?
dbの値は、dataset . datatable以外で、どうやって取得するの? list?
149デフォルトの名無しさん (ワッチョイ a236-8qwV)
2022/03/15(火) 22:07:11.34ID:uT8cdwkS0 >>145
そうですね。アドバイスありがとうございます。
私はこれまでこの手の問題は「まずは自分を疑え」と教わってきて
実際それで大抵の問題は解決してきたのですが、
皆様のお話をうかがうに、今回は自分の勘違いではなく
よそに原因があると考えたほうがいいのかもしれません。
これまで報告等は経験がないのですが、
それも視野に入れて調べてみたいと思います。
>>146
勉強になります。
その特殊な最適化で結果が変わることがバグなのか
私の力では判断が難しそうなのが歯がゆいところです。
>>147
> そう、片方が0なら実質意味はないから加算命令が現れなくても不思議ではないけど
> Console.WriteLine(x);としてみても固定アドレス0をデリファレンスするので
私の理解不足で、
「片方が0なら実質意味はない」 ← 0 + p の計算は必要ない?そりゃそうだ!
「固定アドレス0をデリファレンスする」 ← 0 + p = 0 ということ?p ではなくて?
という感想を持ってしまいました。
申し訳ないのですが、もしよろしければもう少し詳しく説明していただけないでしょうか。
> C#的には未定義なら未定義でビルド時か実行時にエラーを出しそうだけど
> Unsafeでチェックされないのか判断に困る。さもなければ最適化のバグだと思う
ご意見どうもありがとうございます。とても共感させていただきました。
未定義であればこそデバッグ時に教えてほしいものですが、
実際にはデバッグ時には期待通りに動作してしまうのが厄介なところです。
そうですね。アドバイスありがとうございます。
私はこれまでこの手の問題は「まずは自分を疑え」と教わってきて
実際それで大抵の問題は解決してきたのですが、
皆様のお話をうかがうに、今回は自分の勘違いではなく
よそに原因があると考えたほうがいいのかもしれません。
これまで報告等は経験がないのですが、
それも視野に入れて調べてみたいと思います。
>>146
勉強になります。
その特殊な最適化で結果が変わることがバグなのか
私の力では判断が難しそうなのが歯がゆいところです。
>>147
> そう、片方が0なら実質意味はないから加算命令が現れなくても不思議ではないけど
> Console.WriteLine(x);としてみても固定アドレス0をデリファレンスするので
私の理解不足で、
「片方が0なら実質意味はない」 ← 0 + p の計算は必要ない?そりゃそうだ!
「固定アドレス0をデリファレンスする」 ← 0 + p = 0 ということ?p ではなくて?
という感想を持ってしまいました。
申し訳ないのですが、もしよろしければもう少し詳しく説明していただけないでしょうか。
> C#的には未定義なら未定義でビルド時か実行時にエラーを出しそうだけど
> Unsafeでチェックされないのか判断に困る。さもなければ最適化のバグだと思う
ご意見どうもありがとうございます。とても共感させていただきました。
未定義であればこそデバッグ時に教えてほしいものですが、
実際にはデバッグ時には期待通りに動作してしまうのが厄介なところです。
150デフォルトの名無しさん (ワッチョイ 7d02-WCXV)
2022/03/15(火) 22:26:59.94ID:NI5jmOXt0 >>148
DataReaderで読むとか、EntityFrameworkやDapperみたいなフレームワーク使うとか
DataReaderで読むとか、EntityFrameworkやDapperみたいなフレームワーク使うとか
151デフォルトの名無しさん (ワッチョイ ed2f-lWiN)
2022/03/15(火) 22:47:23.94ID:BlmPXv890 そもそも値型にたいするヌル参照が未定義な気がするが
最適化で数値ゼロとヌル参照が同一視されてるとか?
最適化で数値ゼロとヌル参照が同一視されてるとか?
152デフォルトの名無しさん (ワッチョイ 1232-IMun)
2022/03/15(火) 23:25:37.07ID:ZTE9InWz0 >>149
件の部分はJITコンパイルされたマシンコードの話で、ref intを参照する際に
xからでなくても「mov ecx, dword ptr [ptr]」的であっても整合性は取れるが
逆アセが「mov ecx, dword ptr [0]」になるので、xはnullにされてるという話
それならばIsNullRefが消えるのは順当としても、xがnullになる代入の欠落が
NullRef<int>が宜しくないのか、それをAddByteOffsetに与えるのがダメなのか
単なるバグか…、Unsafe.AsRefに直接IntPtr渡せれば/unsafeとせず済むのにね
件の部分はJITコンパイルされたマシンコードの話で、ref intを参照する際に
xからでなくても「mov ecx, dword ptr [ptr]」的であっても整合性は取れるが
逆アセが「mov ecx, dword ptr [0]」になるので、xはnullにされてるという話
それならばIsNullRefが消えるのは順当としても、xがnullになる代入の欠落が
NullRef<int>が宜しくないのか、それをAddByteOffsetに与えるのがダメなのか
単なるバグか…、Unsafe.AsRefに直接IntPtr渡せれば/unsafeとせず済むのにね
153デフォルトの名無しさん (ワッチョイ a236-8qwV)
2022/03/16(水) 00:04:15.38ID:pAqxvPky0 >>151
なるほど…。
ただ、Unsafe.IsNullRef(ref Unsafe.NullRef<int>()) と書けてこれが true を返すので、
値型に対するヌル参照が定められていない場合は Unsafe.NullRef<T> の T に int が
指定できること自体がバグということになってしまうような気もします。
一応未定義ではないけど、CLR 外部との相互利用等で必要に迫られない限り
使ってくれるなという感じなのでしょうか。
>>152
ご親切に説明していただきどうもありがとうございます。
逆アセンブルの結果に “なぜだか理由は分からないが” 0 になっている部分があって、
そこから x が null にされているというという事実が読み取れる、ということですね。
(まだ間違っていたら大変申し訳ありません)
> NullRef<int>が宜しくないのか、それをAddByteOffsetに与えるのがダメなのか
NullRef<T> と AddByteOffset<T> のソースコードのコメントにはそれぞれ
ldc.i4.0
conv.u
ret
ldarg.0
ldarg.1
add
ret
とあって、これを見る限り、NullRef<int>() を AddByteOffset<int> に与えることの問題は
私には読み取れませんでした。
(そもそもこの問題で IL を持ち出すこと自体が見当外れなのでしょうか)
もちろん、実際には特殊な JIT 最適化が行われているのでしょうが、
その結果 IL から期待される動作と変わってしまうようなら、
やはりバグとして報告したほうがよいのかなというのが今のところの考えです。
なるほど…。
ただ、Unsafe.IsNullRef(ref Unsafe.NullRef<int>()) と書けてこれが true を返すので、
値型に対するヌル参照が定められていない場合は Unsafe.NullRef<T> の T に int が
指定できること自体がバグということになってしまうような気もします。
一応未定義ではないけど、CLR 外部との相互利用等で必要に迫られない限り
使ってくれるなという感じなのでしょうか。
>>152
ご親切に説明していただきどうもありがとうございます。
逆アセンブルの結果に “なぜだか理由は分からないが” 0 になっている部分があって、
そこから x が null にされているというという事実が読み取れる、ということですね。
(まだ間違っていたら大変申し訳ありません)
> NullRef<int>が宜しくないのか、それをAddByteOffsetに与えるのがダメなのか
NullRef<T> と AddByteOffset<T> のソースコードのコメントにはそれぞれ
ldc.i4.0
conv.u
ret
ldarg.0
ldarg.1
add
ret
とあって、これを見る限り、NullRef<int>() を AddByteOffset<int> に与えることの問題は
私には読み取れませんでした。
(そもそもこの問題で IL を持ち出すこと自体が見当外れなのでしょうか)
もちろん、実際には特殊な JIT 最適化が行われているのでしょうが、
その結果 IL から期待される動作と変わってしまうようなら、
やはりバグとして報告したほうがよいのかなというのが今のところの考えです。
154デフォルトの名無しさん (ワッチョイ a236-8qwV)
2022/03/16(水) 00:10:04.98ID:pAqxvPky0 >>152
> Unsafe.AsRefに直接IntPtr渡せれば/unsafeとせず済むのにね
そうなんです!というか、本来私がしたいことからいうと
MemoryMarshal.CreateSpan<int> メソッドに IntPtr 型を渡せると一番よいのですが、
それができないのでこのメソッドが受け付けてくれる ref int を作るという方向で考えています。
> Unsafe.AsRefに直接IntPtr渡せれば/unsafeとせず済むのにね
そうなんです!というか、本来私がしたいことからいうと
MemoryMarshal.CreateSpan<int> メソッドに IntPtr 型を渡せると一番よいのですが、
それができないのでこのメソッドが受け付けてくれる ref int を作るという方向で考えています。
155デフォルトの名無しさん (ワッチョイ 1232-IMun)
2022/03/16(水) 01:45:02.44ID:lykY2TTP0 >>153-154
仰る通りです
ECMA-335の文言"Managed pointers cannot be null"で検索してみたら案の定ツッコミありましたが
https://github.com/dotnet/runtime/issues/41418#issuecomment-681177889
これを受けてか、トップのNullRef<T>()に関する注釈にも
(10) Per ECMA-335, Sec. II.14.4.2, it is not strictly legal for a gcref to point to null.
However, all .NET runtimes allow this and treat it in a type-safe fashion,
including guarding accesses to null gcrefs by throwing NullReferenceException as appropriate.
と書かれていて問題なさそうな見解です
仕様に準拠していないというのは…JITコンパイラ的にどうなのか
言及を忘れていましたが、アセンブリにコード欠落は見受けられないのでC#コンパイラの問題ではないし
AddByteOffset<T>(ref T, IntPtr)にしても関連する注釈は
(1) Arithmetic operations on gcrefs (such as via Unsafe.Add) are not checked for correctness by the runtime.
The resulting gcref may point to invalid memory or to a different object. See ECMA-335, Sec. III.1.5.
のみですし、また前項と合わせてECMA-335が示されていますから、ILと無関係でもないでしょう
System.Runtime.CompilerServices.Unsafe.dllをデコンパイルしてみてもコメントと同じコードが示されます
Framework時代ならSafeBuffer継承とかやってましたが(SafeMemoryMappedViewHandleはコンストラクタがinternalなので)
これもこれで今見たら「SafeBuffer may be unavailable in future releases.」で笑えぬ
仰る通りです
ECMA-335の文言"Managed pointers cannot be null"で検索してみたら案の定ツッコミありましたが
https://github.com/dotnet/runtime/issues/41418#issuecomment-681177889
これを受けてか、トップのNullRef<T>()に関する注釈にも
(10) Per ECMA-335, Sec. II.14.4.2, it is not strictly legal for a gcref to point to null.
However, all .NET runtimes allow this and treat it in a type-safe fashion,
including guarding accesses to null gcrefs by throwing NullReferenceException as appropriate.
と書かれていて問題なさそうな見解です
仕様に準拠していないというのは…JITコンパイラ的にどうなのか
言及を忘れていましたが、アセンブリにコード欠落は見受けられないのでC#コンパイラの問題ではないし
AddByteOffset<T>(ref T, IntPtr)にしても関連する注釈は
(1) Arithmetic operations on gcrefs (such as via Unsafe.Add) are not checked for correctness by the runtime.
The resulting gcref may point to invalid memory or to a different object. See ECMA-335, Sec. III.1.5.
のみですし、また前項と合わせてECMA-335が示されていますから、ILと無関係でもないでしょう
System.Runtime.CompilerServices.Unsafe.dllをデコンパイルしてみてもコメントと同じコードが示されます
Framework時代ならSafeBuffer継承とかやってましたが(SafeMemoryMappedViewHandleはコンストラクタがinternalなので)
これもこれで今見たら「SafeBuffer may be unavailable in future releases.」で笑えぬ
156デフォルトの名無しさん (ワッチョイ 7d02-WCXV)
2022/03/16(水) 02:59:05.97ID:b5JRB2Cp0 最近の標準ライブラリの実装を見るに、.NET開発チームはIntPtrを使わせたくないように感じる
ポインタ弄るなら、あぶねー事やってんだから明確にunsafe宣言しろって事なんだろうな
ポインタ弄るなら、あぶねー事やってんだから明確にunsafe宣言しろって事なんだろうな
157デフォルトの名無しさん (ワッチョイ 1232-IMun)
2022/03/16(水) 15:09:58.97ID:lykY2TTP0 >>137>>153
よくよく調べてみたらズバリそのものが有りました
https://github.com/dotnet/runtime/issues/61510
>>156で言われている様な主旨のコメントもありますね
元コードの添え書きを見るに意図されたものと見受けられますが
ぬるぽを多少オフセットした所でデリファンレスしたら一緒という事でしょうか
昨年の時点で修正が入っていますが、マイルストーンは7.0.0とされ6.0.3でも取りこまれていません
https://github.com/dotnet/runtime/blob/v6.0.3/src/coreclr/jit/morph.cpp#L12906-L12918
.NET 7.0 Previewにはマージされており、その後さらに周辺コードはリファクタリングされ移動しています
https://github.com/dotnet/runtime/commit/132cc2f2d00e00b7f0dfd43498077da65cc27d29#diff-5b83397bbbdd17bb9457998b520fdaaa474d165390985b66f32371561b6d0bacR13505
まぁやはり本来は相対オフセットが期待されるところですから
絶対オフセットではなく大人しくAsRefを使うべきなのかもしれません
よくよく調べてみたらズバリそのものが有りました
https://github.com/dotnet/runtime/issues/61510
>>156で言われている様な主旨のコメントもありますね
元コードの添え書きを見るに意図されたものと見受けられますが
ぬるぽを多少オフセットした所でデリファンレスしたら一緒という事でしょうか
昨年の時点で修正が入っていますが、マイルストーンは7.0.0とされ6.0.3でも取りこまれていません
https://github.com/dotnet/runtime/blob/v6.0.3/src/coreclr/jit/morph.cpp#L12906-L12918
.NET 7.0 Previewにはマージされており、その後さらに周辺コードはリファクタリングされ移動しています
https://github.com/dotnet/runtime/commit/132cc2f2d00e00b7f0dfd43498077da65cc27d29#diff-5b83397bbbdd17bb9457998b520fdaaa474d165390985b66f32371561b6d0bacR13505
まぁやはり本来は相対オフセットが期待されるところですから
絶対オフセットではなく大人しくAsRefを使うべきなのかもしれません
158137 (ワッチョイ 6136-KDK6)
2022/03/16(水) 16:49:39.25ID:TbbZbi5h0 すみません。規制にあってしまったのか、パソコンから書き込めなくなってしまいました。
この文章も書き込めるかどうか分かりませんが、
ひとまず、親切にしてくださった皆様に心からお礼申し上げます。
この文章も書き込めるかどうか分かりませんが、
ひとまず、親切にしてくださった皆様に心からお礼申し上げます。
159デフォルトの名無しさん (ワッチョイ 7d02-WCXV)
2022/03/16(水) 18:13:49.44ID:b5JRB2Cp0 >>157 のリンク先の、
> Sergio0694 commented on 13 Nov 2021
> Having fake "safe" code using APIs like this instead of properly using built-in unsafe syntax is objectively worse and should be avoided. It makes it harder to see when code is actually doing unsafe things. It effectively makes your code more unsafe. It's an ongoing problem that has been here forever, certainly not helped by the existence of some APIs (looking at you Marshal...).
このコメントに激しく同意するわ。
ポインタ操作やってるのに、Unsafeクラスで無理矢理unsafeブロック書くの回避したところで、
それは危険なコードである事に変わりはない。
> Sergio0694 commented on 13 Nov 2021
> Having fake "safe" code using APIs like this instead of properly using built-in unsafe syntax is objectively worse and should be avoided. It makes it harder to see when code is actually doing unsafe things. It effectively makes your code more unsafe. It's an ongoing problem that has been here forever, certainly not helped by the existence of some APIs (looking at you Marshal...).
このコメントに激しく同意するわ。
ポインタ操作やってるのに、Unsafeクラスで無理矢理unsafeブロック書くの回避したところで、
それは危険なコードである事に変わりはない。
160デフォルトの名無しさん (ワッチョイ 8dc1-EzgM)
2022/03/16(水) 19:44:50.55ID:Eqgki5Lk0 vs2022 c# winforms .net6
画面作って、vs再起動すると
フォームが読込エラーが発生する
おまえら、発生しないの?
画面作って、vs再起動すると
フォームが読込エラーが発生する
おまえら、発生しないの?
161デフォルトの名無しさん (アウアウウー 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:TYJN2jsR0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- トランプ大統領、米台関係深化に向けた法案に署名 ★2 [少考さん★]
- 【初激白】松岡昌宏が語った、国分太一への思いと日テレへの疑問 「日本テレビさんのやり方はコンプライアンス違反ではないのか」 [ひかり★]
- 【UMA】「熊のようなものに襲われた」通報も…その後の捜査で「熊である可能性は低い」 福島市 [nita★]
- 自民党 議員定数削減法案の了承を見送り 党内で異論相次いだため [Hitzeschleier★]
- 【芸能】元乃木坂46・松村沙友理 結婚&妊娠を発表! 「引き続き私らしくさゆりんご全開で頑張ります!」 [冬月記者★]
- 「2万円給付は富裕層が得をする形に」「お米券で儲かるのはJA」 高市政権“21兆円経済対策”が「現金給付のほうがマシ」と言われる理由 [ぐれ★]
- JSF、高市早苗とその信者にゲンナリして急にまともな事を言い始める 反転か? [165981677]
- 【悲報】中国、ロシア、ガチで対日同盟結成へwwww高市さあああああ [535650357]
- 【高市株価】 首都高速が値上げを検討 → 佐川急便の株価が下落 😭 [485983549]
- 【速報】トランプ「アメリカはいつも日本人から搾取され続けてきた、絶対に許さない」 [339035499]
- 【速報】日本人「中国さん、もし日本に核を落としたら日本人は“本気”出すよ?」 [329271814]
- 【危険】金利上昇、止まらず!1.888%に!高市ピンチ [219241683]
