「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
探検
ふらっと C#,C♯,C#(初心者用) Part141
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2018/12/15(土) 10:46:07.45ID:Wu4Fx0bU553デフォルトの名無しさん
2020/06/19(金) 22:36:55.15ID:cGppewf8 コロナ感染源だからホストも禁止
554デフォルトの名無しさん
2020/06/20(土) 03:28:44.15ID:ASLg4tM8 slaveは言い訳できないが、masterはいいだろ
言葉狩りの暴走は勘弁してほしい
言葉狩りの暴走は勘弁してほしい
555デフォルトの名無しさん
2020/06/20(土) 03:44:34.61ID:cD8U+O2A 変数名やメソッド名全部に差別チェックが入る時代が来るぞ
556デフォルトの名無しさん
2020/06/20(土) 04:13:37.90ID:FLQMzrN5 くだらね
考えすぎだと思うよ
日本語でも主/従というがこれをpolitically incorrectだと言う人はいないでしょ
考えすぎだと思うよ
日本語でも主/従というがこれをpolitically incorrectだと言う人はいないでしょ
557デフォルトの名無しさん
2020/06/20(土) 04:23:55.75ID:fYTLW7H/ 外圧に簡単に屈するぞ?
558デフォルトの名無しさん
2020/06/20(土) 04:26:17.64ID:ASLg4tM8 そんなことより、変数名に日本語使う会社の先輩を禁止にしてほしい
559デフォルトの名無しさん
2020/06/20(土) 08:05:50.48ID:wP1jy1tm560デフォルトの名無しさん
2020/06/20(土) 08:52:50.69ID:bhe8z7NH そういうのって正式に英語名称が定義されたりしないの?
561デフォルトの名無しさん
2020/06/20(土) 09:37:58.40ID:GUrzgoSo 全国の地方自治体向けに作られた翻訳システムがあるが英訳はめちゃくちゃわかりにくいぞ
区役所とかのホームページ見れば分かる
区役所とかのホームページ見れば分かる
562デフォルトの名無しさん
2020/06/20(土) 10:12:31.31ID:bhe8z7NH プログラマが勝手に作ったローマ字使うくらいなら正式な英語あるならそれ使えばいいじゃん
わかりにくさはローマ字も一緒だし
それも嫌なら正式名称の日本語かな
日本語は入力がめんどくさい、isとかつけたら見づらいとかあるんで個人的には英語にしたいところ
わかりにくさはローマ字も一緒だし
それも嫌なら正式名称の日本語かな
日本語は入力がめんどくさい、isとかつけたら見づらいとかあるんで個人的には英語にしたいところ
563デフォルトの名無しさん
2020/06/20(土) 10:20:29.03ID:cD8U+O2A 配偶者特別控除とか英訳した変数使われたら長すぎてたまらん
564デフォルトの名無しさん
2020/06/20(土) 10:25:55.97ID:7xYXUXXu こんなところでくだらん雑談されたらたまらん
565デフォルトの名無しさん
2020/06/20(土) 10:44:13.15ID:bhe8z7NH そんな長いのかと思ってググったら全然長くないじゃん
566デフォルトの名無しさん
2020/06/20(土) 12:35:54.56ID:VKvCWYLS >>560
必ずしも充足されてるとは言い難い。
まず政府管掌健康保険が協会けんぽに変わったから、云々、と歴史まで追いかけるときりがない。
それに、プログラマが勝手に決めないぞ。プロジェクトでコンセンサスとって対訳表作る。
必ずしも充足されてるとは言い難い。
まず政府管掌健康保険が協会けんぽに変わったから、云々、と歴史まで追いかけるときりがない。
それに、プログラマが勝手に決めないぞ。プロジェクトでコンセンサスとって対訳表作る。
567デフォルトの名無しさん
2020/06/20(土) 12:52:11.90ID:bhe8z7NH568デフォルトの名無しさん
2020/06/20(土) 13:33:06.13ID:VKvCWYLS569デフォルトの名無しさん
2020/06/20(土) 14:04:38.62ID:bhe8z7NH570デフォルトの名無しさん
2020/06/20(土) 14:35:58.82ID:VKvCWYLS571デフォルトの名無しさん
2020/06/20(土) 22:15:40.53ID:mviXVPvw 出来もしないのに無理やり英語使われてもなあ
ソースコード読んで直す側としては、変数名で恥ずかしいスペルミスされたり見当はずれの英単語使われるくらいだったら
開き直って日本語の変数名にしてくれてるほうが100倍マシ
ローマ字表記はヘボン非ヘボンの混在だったり長音や「おう」の表記ゆれだったりでgrepできなくて迷惑
子音のみ表記は論外
ソースコード読んで直す側としては、変数名で恥ずかしいスペルミスされたり見当はずれの英単語使われるくらいだったら
開き直って日本語の変数名にしてくれてるほうが100倍マシ
ローマ字表記はヘボン非ヘボンの混在だったり長音や「おう」の表記ゆれだったりでgrepできなくて迷惑
子音のみ表記は論外
572デフォルトの名無しさん
2020/06/20(土) 22:52:27.79ID:Zs4RBEp5 shine←誰だ!ソースコードに死ねって書いた奴は!
お前が一番英語できねーじゃん
お前が一番英語できねーじゃん
573デフォルトの名無しさん
2020/06/20(土) 22:59:06.50ID:hRQ9XdbD 酔っぱらって雑談書き込みたい人はマ板に行けよ
574デフォルトの名無しさん
2020/06/21(日) 13:48:49.92ID:wYwqTW6D 素面だったら失礼だろ…
575デフォルトの名無しさん
2020/06/21(日) 20:17:32.76ID:aN4OBWpj 派生クラスのインスタンスが与えられていて、abstruct な基底クラスの virtual なメソッドを呼び出すにはどうすればいいでしょうか?
using System;
using System.Reflection;
namespace ConsoleApp1
{
class Base1
{
public virtual void method1()
{
Console.WriteLine("Base1 method1");
}
}
abstract class D1 : Base1
{
public override void method1()
{
Console.WriteLine("D1 method1");
}
}
using System;
using System.Reflection;
namespace ConsoleApp1
{
class Base1
{
public virtual void method1()
{
Console.WriteLine("Base1 method1");
}
}
abstract class D1 : Base1
{
public override void method1()
{
Console.WriteLine("D1 method1");
}
}
576デフォルトの名無しさん
2020/06/21(日) 20:17:46.82ID:aN4OBWpj class D2 : D1
{
public override void method1()
{
Console.WriteLine("D2 method1");
}
public void callBaseMethod()
{
base.method1();
}
}
class Program
{
static void Main(string[] args)
{
D2 d2instance = new D2();
d2instance.method1();
d2instance.callBaseMethod();
Type d1type1 = d2instance.GetType().BaseType;
MethodInfo mi1 = d1type1.GetMethod("method1", BindingFlags.Instance | BindingFlags.Public);
mi1.Invoke(d2instance, null);
D1 d2asD1 = d2instance as D1;
MethodInfo mi2 = d1type1.GetMethod("method1", BindingFlags.Instance | BindingFlags.Public);
mi2.Invoke(d2instance, null);
}
}
}
{
public override void method1()
{
Console.WriteLine("D2 method1");
}
public void callBaseMethod()
{
base.method1();
}
}
class Program
{
static void Main(string[] args)
{
D2 d2instance = new D2();
d2instance.method1();
d2instance.callBaseMethod();
Type d1type1 = d2instance.GetType().BaseType;
MethodInfo mi1 = d1type1.GetMethod("method1", BindingFlags.Instance | BindingFlags.Public);
mi1.Invoke(d2instance, null);
D1 d2asD1 = d2instance as D1;
MethodInfo mi2 = d1type1.GetMethod("method1", BindingFlags.Instance | BindingFlags.Public);
mi2.Invoke(d2instance, null);
}
}
}
577デフォルトの名無しさん
2020/06/21(日) 20:20:09.44ID:aN4OBWpj D2クラスのメソッド内からは base を使って D1::method1 を呼び出せますが、D2クラス外から D1::method1 を呼び出したいのです。
reflection を例のように試してみましたが、これではD2.method1 が実行されました。
reflection を例のように試してみましたが、これではD2.method1 が実行されました。
578デフォルトの名無しさん
2020/06/21(日) 21:33:25.88ID:PVQJTyJk じゃあbaseでも返してやればいいじゃん
579デフォルトの名無しさん
2020/06/21(日) 21:35:29.29ID:X+exSJnj >>576
ここの方法で一応出来た
https://stackoverflow.com/questions/43797869/how-to-call-base-method-from-derived-class-instance-in-c
何で出来るのかは聞かないでw
さっぱり分からん
ここの方法で一応出来た
https://stackoverflow.com/questions/43797869/how-to-call-base-method-from-derived-class-instance-in-c
何で出来るのかは聞かないでw
さっぱり分からん
580デフォルトの名無しさん
2020/06/21(日) 22:28:34.53ID:aN4OBWpj static void Main(string[] args)
{
D2 d2instance = new D2();
D1 d2asD1 = d2instance as D1;
MethodInfo mi5 = typeof(D1).GetMethod("method1", BindingFlags.Instance | BindingFlags.Public);
var dynamicMethod = new DynamicMethod("baseMethod1", mi5.ReturnType, new[] { mi5.DeclaringType }, mi5.DeclaringType);
var il = dynamicMethod.GetILGenerator();
il.Emit(OpCodes.Ldarg_0);
il.EmitCall(OpCodes.Call, mi5, null);
il.Emit(OpCodes.Ret);
dynamicMethod.Invoke(null, new object[] { d2asD1 });
}
これで
D1 method1
と出力されました。
何で出来るのかはさっぱり分からないけど、完全に理解したので、感謝の気持ちだけ送ります。
{
D2 d2instance = new D2();
D1 d2asD1 = d2instance as D1;
MethodInfo mi5 = typeof(D1).GetMethod("method1", BindingFlags.Instance | BindingFlags.Public);
var dynamicMethod = new DynamicMethod("baseMethod1", mi5.ReturnType, new[] { mi5.DeclaringType }, mi5.DeclaringType);
var il = dynamicMethod.GetILGenerator();
il.Emit(OpCodes.Ldarg_0);
il.EmitCall(OpCodes.Call, mi5, null);
il.Emit(OpCodes.Ret);
dynamicMethod.Invoke(null, new object[] { d2asD1 });
}
これで
D1 method1
と出力されました。
何で出来るのかはさっぱり分からないけど、完全に理解したので、感謝の気持ちだけ送ります。
581デフォルトの名無しさん
2020/06/22(月) 09:37:12.13ID:0XzJmbel 環境によって動かなくなるかもしんないことした?
582デフォルトの名無しさん
2020/07/10(金) 21:20:51.69ID:X9xi9dVy 今までGUI作ったことなかったなーと思って勉強しようと思ったんですが今だとどれを勉強するのがいいんですかね
さすがにformsは古い?そうだけどWPF以降も色々と出ていてこのタイミングでどれをやるのがいいのか迷ってて
さすがにformsは古い?そうだけどWPF以降も色々と出ていてこのタイミングでどれをやるのがいいのか迷ってて
583デフォルトの名無しさん
2020/07/10(金) 21:29:39.13ID:Yln2FJAO584デフォルトの名無しさん
2020/07/10(金) 22:13:58.78ID:3+C210Fo 正解はwebで
585デフォルトの名無しさん
2020/07/10(金) 22:15:24.02ID:JuXuxxAz OWINで
586デフォルトの名無しさん
2020/07/11(土) 02:28:11.25ID:Xb91GAGB 続きはCM2の後で
587デフォルトの名無しさん
2020/07/11(土) 11:09:59.93ID:J0INoyBc Unityに+1
Unityのゲームの中身じゃなくてEditorの方をおすすめ
Unityのゲームの中身じゃなくてEditorの方をおすすめ
588デフォルトの名無しさん
2020/07/12(日) 21:38:45.35ID:aDzqciee unityがおすすめなんですね。あれゲーム専用だと思ってました
もっぱら業務アプリばっかなんでそういう用途にも使えるとは思ってなかったです
もっぱら業務アプリばっかなんでそういう用途にも使えるとは思ってなかったです
589デフォルトの名無しさん
2020/07/13(月) 09:25:32.82ID:TjSPxylo 業務アプリ用の言語ωでゲーム造ってる人も居るしな
590デフォルトの名無しさん
2020/07/13(月) 15:55:03.59ID:Ke/bF0yo 倉庫の在庫官吏を、VRで実際の倉庫とそっくりに作った仮想倉庫内を移動して有無を確認するようなシステムにしたらITで社会が幸せになるね
591デフォルトの名無しさん
2020/07/13(月) 16:01:37.04ID:H0zeGwMI 数値で確認じゃなくVRでわざわざ見渡すシステムを作るのか
すげーな、現場でそんな発想するやついねーわw
すげーな、現場でそんな発想するやついねーわw
592デフォルトの名無しさん
2020/07/13(月) 16:58:20.45ID:aaJV9hNQ カメラを設置するだけでも大変だったのに
モデリングに手間暇かかるだけ無駄
モデリングに手間暇かかるだけ無駄
593デフォルトの名無しさん
2020/07/13(月) 17:15:16.60ID:9YDjNgWA 商品もリアルに表現しなきゃねってことで
手足に負荷がかかるような器具を付けて商品の重さも再現するんでしょ?
倉庫の広さも実感できるようにランニングマシーンの進化版みたいのに乗ってと・・・
手足に負荷がかかるような器具を付けて商品の重さも再現するんでしょ?
倉庫の広さも実感できるようにランニングマシーンの進化版みたいのに乗ってと・・・
594デフォルトの名無しさん
2020/07/13(月) 17:28:58.81ID:Ke/bF0yo これからは業務アプリもunityやunrealengineだな
595デフォルトの名無しさん
2020/07/13(月) 17:32:08.72ID:aaJV9hNQ 自動倉庫のシステム組むのにそんなもんいらん
596デフォルトの名無しさん
2020/07/13(月) 17:38:07.71ID:VzOfFxcE 配管系のゲージは研修半分でオーバーレイして表示させるとかそういう話聞くけど、在庫数は無いわ。
金はかかるがだいたいパレットやらロットにRFタグつけて棚卸しできるようにするだろ。
ちなみにプラントのモデルは案外あるし、点群で撮っちゃうって手もある。
ただ、確かにモデルを表示する類の業務アプリはUnityで作ってるのもあるよ。
それなりに大手の製造業だけど。
金はかかるがだいたいパレットやらロットにRFタグつけて棚卸しできるようにするだろ。
ちなみにプラントのモデルは案外あるし、点群で撮っちゃうって手もある。
ただ、確かにモデルを表示する類の業務アプリはUnityで作ってるのもあるよ。
それなりに大手の製造業だけど。
597デフォルトの名無しさん
2020/07/13(月) 21:29:20.64ID:dyxM/ipS598デフォルトの名無しさん
2020/07/13(月) 22:41:02.33ID:onCQ4Lj1 そんなに余裕ならamazonの倉庫で
働けば良いのに:-p
働けば良いのに:-p
599デフォルトの名無しさん
2020/07/14(火) 11:59:39.83ID:Mma3I+br 倉庫管理楽しくなりそう
https://www.youtube.com/watch?v=Lu56xVlZ40M
https://www.youtube.com/watch?v=Lu56xVlZ40M
600デフォルトの名無しさん
2020/07/14(火) 20:22:00.29ID:dcabkqyp601デフォルトの名無しさん
2020/07/14(火) 20:29:04.35ID:Wijq2S4p パシフィック・リムが思い浮かぶな
602デフォルトの名無しさん
2020/07/14(火) 20:30:24.39ID:3GhCpHPS まあゲームだな
603デフォルトの名無しさん
2020/07/14(火) 21:04:18.81ID:GSoz0Gzm >>600
それだけでは体力的に厳しいからパワーアシストスーツを着ないとな
それだけでは体力的に厳しいからパワーアシストスーツを着ないとな
604デフォルトの名無しさん
2020/07/19(日) 18:09:36.82ID:PL1UBy2g X軸を対数にしようとIsLogarithmic= Trueにしたら"対数スケールはこの軸には使用できません"と例外が出たが、
Y軸では出ません。
プロットしたデータが悪いのかと試しにXもYも同じデータでプロットしてもX軸を対数にしたときだけやはり例外が出ます(Y軸だけ対数表記だと出ない)。
詳しい方がいたらアドバイスをください。
private void CalcFFT(int samplingNum)
{
chart2.Series[0].Points.Clear();
var input = new Complex[samplingNum];
var output = new Complex[samplingNum];
for (int i = 0; i < chart1.Series[0].Points.Count; i++){
input[i] = new Complex(chart1.Series[0].Points[i].YValues[0], 0);
output[i] = new Complex(chart1.Series[1].Points[i].YValues[0], 0);
}
// FFTを実行
Fourier.Forward(input);
Fourier.Forward(output);
for (int i = 0; i < input.Length; i++){
var aftInput = Complex.Divide(input[i], output[i]);
var aftOutput = 20*Math.Log10( Complex.Abs(aftInput));
chart2.Series[0].Points.AddXY(aftOutput, aftOutput);
}
chart2.ChartAreas[0].AxisX.IsLogarithmic = true;//これだけ例外になる
chart2.ChartAreas[0].AxisY.IsLogarithmic = true;
}
Y軸では出ません。
プロットしたデータが悪いのかと試しにXもYも同じデータでプロットしてもX軸を対数にしたときだけやはり例外が出ます(Y軸だけ対数表記だと出ない)。
詳しい方がいたらアドバイスをください。
private void CalcFFT(int samplingNum)
{
chart2.Series[0].Points.Clear();
var input = new Complex[samplingNum];
var output = new Complex[samplingNum];
for (int i = 0; i < chart1.Series[0].Points.Count; i++){
input[i] = new Complex(chart1.Series[0].Points[i].YValues[0], 0);
output[i] = new Complex(chart1.Series[1].Points[i].YValues[0], 0);
}
// FFTを実行
Fourier.Forward(input);
Fourier.Forward(output);
for (int i = 0; i < input.Length; i++){
var aftInput = Complex.Divide(input[i], output[i]);
var aftOutput = 20*Math.Log10( Complex.Abs(aftInput));
chart2.Series[0].Points.AddXY(aftOutput, aftOutput);
}
chart2.ChartAreas[0].AxisX.IsLogarithmic = true;//これだけ例外になる
chart2.ChartAreas[0].AxisY.IsLogarithmic = true;
}
605デフォルトの名無しさん
2020/07/19(日) 18:18:21.40ID:R6Y/ShSW606デフォルトの名無しさん
2020/07/19(日) 18:29:40.39ID:PL1UBy2g >>605
0や負数を取り除いてもエラーになってしまうんです。
そもそもY軸では負数を含めてもエラーにはならなかったので悩んでいます・・・。
上記のリンクも調べて既に試したのですが、
SuppressExceptionsを設定してもダメでした。
0や負数を取り除いてもエラーになってしまうんです。
そもそもY軸では負数を含めてもエラーにはならなかったので悩んでいます・・・。
上記のリンクも調べて既に試したのですが、
SuppressExceptionsを設定してもダメでした。
607デフォルトの名無しさん
2020/07/19(日) 20:29:44.78ID:xpqal6/5 chartなんて使ったことないから何か勘違いしてるかもしれんけど
別に何の問題もなかった
private void PlotSomething()
{
for (int i = 0; i < 10; i++)
{
var x = Math.Pow(10, i);
chart1.Series[0].Points.AddXY(x, x);
}
chart1.ChartAreas[0].AxisX.IsLogarithmic = true;
chart1.ChartAreas[0].AxisY.IsLogarithmic = true;
}
別に何の問題もなかった
private void PlotSomething()
{
for (int i = 0; i < 10; i++)
{
var x = Math.Pow(10, i);
chart1.Series[0].Points.AddXY(x, x);
}
chart1.ChartAreas[0].AxisX.IsLogarithmic = true;
chart1.ChartAreas[0].AxisY.IsLogarithmic = true;
}
608デフォルトの名無しさん
2020/07/19(日) 21:46:59.96ID:HgFtcLoK 動くコードから一つ一つ近づけて行くのもいい手だよね
609デフォルトの名無しさん
2020/07/19(日) 22:52:49.13ID:PL1UBy2g >>607
コードをお借りして試してみましたがダメでした・・・
私の環境で気になるのは、
AddXYをした後でもX軸のAxisX.Minumum=0でAxisX.Maximum=1のままだったんですよね・・・
そのままformを抜けて描画すると突然アボートになる・・・
コードをお借りして試してみましたがダメでした・・・
私の環境で気になるのは、
AddXYをした後でもX軸のAxisX.Minumum=0でAxisX.Maximum=1のままだったんですよね・・・
そのままformを抜けて描画すると突然アボートになる・・・
610デフォルトの名無しさん
2020/07/19(日) 23:04:54.28ID:vyF3aSiC フォームロード時にエラーになる?
対数軸持ちチャートはデータ数0を
許さないから、ダミーデータを入れた?
series.enabled = false;はしてある?
でなかったらわからないです。
対数軸持ちチャートはデータ数0を
許さないから、ダミーデータを入れた?
series.enabled = false;はしてある?
でなかったらわからないです。
611デフォルトの名無しさん
2020/07/19(日) 23:35:35.36ID:HgFtcLoK >>609
新規作成したプロジェクトでも同じって言ってるの?
新規作成したプロジェクトでも同じって言ってるの?
612デフォルトの名無しさん
2020/07/19(日) 23:51:19.95ID:PL1UBy2g613デフォルトの名無しさん
2020/07/20(月) 00:01:29.70ID:evpinthC614デフォルトの名無しさん
2020/07/20(月) 10:09:35.64ID:oCdL4TUp for (int i = 0; i < input.Length; i++){
var aftInput = Math.Log10(Complex.Divide(input[i], output[i]));
var aftOutput = 20*Math.Log10( Complex.Abs(aftInput));
chart2.Series[0].Points.AddXY(aftOutput, aftOutput);
}
chart2.ChartAreas[0].AxisX.IsLogarithmic = true;
chart2.ChartAreas[0].AxisY.IsLogarithmic = true;
var aftInput = Math.Log10(Complex.Divide(input[i], output[i]));
var aftOutput = 20*Math.Log10( Complex.Abs(aftInput));
chart2.Series[0].Points.AddXY(aftOutput, aftOutput);
}
chart2.ChartAreas[0].AxisX.IsLogarithmic = true;
chart2.ChartAreas[0].AxisY.IsLogarithmic = true;
615デフォルトの名無しさん
2020/07/20(月) 10:10:59.89ID:oCdL4TUp こっちか
for (int i = 0; i < input.Length; i++){
var aftInput = Math.Log10(Complex.Abs(Complex.Divide(input[i], output[i])));
var aftOutput = 20*Math.Log10( Complex.Abs(aftInput));
chart2.Series[0].Points.AddXY(aftOutput, aftOutput);
}
chart2.ChartAreas[0].AxisX.IsLogarithmic = true;
chart2.ChartAreas[0].AxisY.IsLogarithmic = true;
for (int i = 0; i < input.Length; i++){
var aftInput = Math.Log10(Complex.Abs(Complex.Divide(input[i], output[i])));
var aftOutput = 20*Math.Log10( Complex.Abs(aftInput));
chart2.Series[0].Points.AddXY(aftOutput, aftOutput);
}
chart2.ChartAreas[0].AxisX.IsLogarithmic = true;
chart2.ChartAreas[0].AxisY.IsLogarithmic = true;
616デフォルトの名無しさん
2020/07/20(月) 12:08:59.65ID:2IOyO+tV いや、ソリューション全部比較しないとプロパティまで見えないよね?
617デフォルトの名無しさん
2020/07/22(水) 12:10:47.54ID:G1e5+QGc ※usingは長いので省略
class useDynamicObject1{
static void Main()
{
dynamic order1 = new Order();
order1.ProductID = 100;
}
}
class Order: DynamicObject
{
private Dictionary<string,object> items = new Ditionary<string,object>();
private const object MyDefault = null;
public override bool TrySetMember(SetMemberBinder binder,object value)
{長すぎてエラーが起こるので略}
}
というようなコードがあったとします。dynamic order1 = new Order();
order1.ProductID = 100; この部分でOrderオブジェクトのTrySetMemberメソッドが動作してるっぽいんですが
通常 order1.TrySetMember(引数を入れる);という形でインスタンスメソッドを呼び出しますよね?
なぜorder1.ProductID = 100;の記述でTrySetMenmberメソッドが呼び出されるのかがわかりません
理由を教えてください、よろしくお願いいたします。
class useDynamicObject1{
static void Main()
{
dynamic order1 = new Order();
order1.ProductID = 100;
}
}
class Order: DynamicObject
{
private Dictionary<string,object> items = new Ditionary<string,object>();
private const object MyDefault = null;
public override bool TrySetMember(SetMemberBinder binder,object value)
{長すぎてエラーが起こるので略}
}
というようなコードがあったとします。dynamic order1 = new Order();
order1.ProductID = 100; この部分でOrderオブジェクトのTrySetMemberメソッドが動作してるっぽいんですが
通常 order1.TrySetMember(引数を入れる);という形でインスタンスメソッドを呼び出しますよね?
なぜorder1.ProductID = 100;の記述でTrySetMenmberメソッドが呼び出されるのかがわかりません
理由を教えてください、よろしくお願いいたします。
618デフォルトの名無しさん
2020/07/22(水) 12:17:39.88ID:PZLPLd2s619デフォルトの名無しさん
2020/07/22(水) 13:48:00.79ID:SRlHt7kI >>617
docsに書かれている通り、プロパティに値をsetするときに呼ばれるような仕様だから、じゃダメなの?
https://docs.microsoft.com/ja-jp/dotnet/api/system.dynamic.dynamicobject.trysetmember?view=netcore-3.1
>このメソッドは、sampleObject.SampleProperty = "Test"のようなステートメントがある場合に呼び出されます。
>sampleObject は、DynamicObject クラスから派生したクラスのインスタンスです。
docsに書かれている通り、プロパティに値をsetするときに呼ばれるような仕様だから、じゃダメなの?
https://docs.microsoft.com/ja-jp/dotnet/api/system.dynamic.dynamicobject.trysetmember?view=netcore-3.1
>このメソッドは、sampleObject.SampleProperty = "Test"のようなステートメントがある場合に呼び出されます。
>sampleObject は、DynamicObject クラスから派生したクラスのインスタンスです。
620デフォルトの名無しさん
2020/07/22(水) 15:11:33.71ID:RCIwbmD0 なるほど、状況はわかりましたが コードのイメージができません
どのようなコードを記述するか参考例はないでしょうか?
※どこかのサイトにかいてあるコードでもかまいません
どのようなコードを記述するか参考例はないでしょうか?
※どこかのサイトにかいてあるコードでもかまいません
621デフォルトの名無しさん
2020/07/22(水) 17:11:56.47ID:Vz073kjI マルチスレッドについて質問です。
C#は初心者です。
コードの書き方を見ると、Threadは使うな!Taskを使え!というものばかり見ます。
今の時代はThreadはgotoみたいな扱いで、使っちゃだめなんでしょうか。
C#は初心者です。
コードの書き方を見ると、Threadは使うな!Taskを使え!というものばかり見ます。
今の時代はThreadはgotoみたいな扱いで、使っちゃだめなんでしょうか。
622デフォルトの名無しさん
2020/07/22(水) 17:15:28.36ID:CV+o1S+t >>621
Taskで事足りるから、Threadを直接扱うメリットが無い
Taskで事足りるから、Threadを直接扱うメリットが無い
623デフォルトの名無しさん
2020/07/22(水) 19:37:30.15ID:INn9Gfu9624デフォルトの名無しさん
2020/07/22(水) 20:04:31.24ID:AJamwNQZ 車で例えるなら、
Thread/ThreadPoolを使うマルチスレッドは、クラッチ操作とかいろいろ面倒くさいマニュアル車
Taskを使ってのマルチスレッドは、アクセルを踏むだけで動いてくれるオートマチック車
ってなイメージかな
でもってTask.Run()すら書かなくていいasyncなメソッドは自動運転車
ただ単に移動したいだけなら楽なAT車(Task)を使えばいい
全部お任せしたいなら自動運転車(asyncメソッド)で十分
Thread/ThreadPoolを使うマルチスレッドは、クラッチ操作とかいろいろ面倒くさいマニュアル車
Taskを使ってのマルチスレッドは、アクセルを踏むだけで動いてくれるオートマチック車
ってなイメージかな
でもってTask.Run()すら書かなくていいasyncなメソッドは自動運転車
ただ単に移動したいだけなら楽なAT車(Task)を使えばいい
全部お任せしたいなら自動運転車(asyncメソッド)で十分
625デフォルトの名無しさん
2020/07/22(水) 21:35:45.28ID:Dyis6wZJ >>620
setter c#でググれ
setter c#でググれ
626デフォルトの名無しさん
2020/07/23(木) 00:38:31.81ID:4rdlbzE6 async await で済むならそれが一番良いね
627デフォルトの名無しさん
2020/07/23(木) 09:02:15.09ID:NYI4LF+6 621だけどありがとうございます!
時代の流れに沿ってTaskの勉強します
時代の流れに沿ってTaskの勉強します
628デフォルトの名無しさん
2020/07/23(木) 09:26:43.58ID:5gH7rQay629デフォルトの名無しさん
2020/07/23(木) 11:41:04.02ID:LCQAVDS7 >>627
非同期処理自体に明るくないなら古い生のThreadの時代の記事を
むしろ一番最初に読んだ方が理解が早いと思う。
特に非同期処理固有の落とし穴をちゃんと理解しておくことは重要
今時の便利なスキームの有難みも分かるしね
非同期処理自体に明るくないなら古い生のThreadの時代の記事を
むしろ一番最初に読んだ方が理解が早いと思う。
特に非同期処理固有の落とし穴をちゃんと理解しておくことは重要
今時の便利なスキームの有難みも分かるしね
630デフォルトの名無しさん
2020/07/24(金) 04:18:35.62ID:Xje7ei/I windowsフォームアプリは簡単なものなら作れるようになったので
次はウェブアプリに挑戦しようと思い、ASP.NETの本を読んで勉強してます
テスト用に作ったアプリをローカルではなく
実際にサーバーにあげて動かしてみたいと思っているのですが
こういった用途のサーバーレンタルは有料と考えてよいでしょうか?
さくらのVPS for Windows Serverなどを考えています
とりあえずの目的は、運用するまでの手順を学ぶことです
スレチだったらごめんなさい
次はウェブアプリに挑戦しようと思い、ASP.NETの本を読んで勉強してます
テスト用に作ったアプリをローカルではなく
実際にサーバーにあげて動かしてみたいと思っているのですが
こういった用途のサーバーレンタルは有料と考えてよいでしょうか?
さくらのVPS for Windows Serverなどを考えています
とりあえずの目的は、運用するまでの手順を学ぶことです
スレチだったらごめんなさい
631デフォルトの名無しさん
2020/07/24(金) 04:36:15.16ID:92mFR8ZL aws一択
632デフォルトの名無しさん
2020/07/24(金) 04:49:22.51ID:Xje7ei/I633デフォルトの名無しさん
2020/07/24(金) 10:22:06.04ID:YnCezvlk Azureに無料枠あっただろ
634デフォルトの名無しさん
2020/07/24(金) 10:48:35.32ID:qMgm686n さくらのVPSでも良いけど
shellやpythonやdjangoの便利さに心奪われて
C#やASP.NETのことを忘れてしまうだろうな
それでも良いけど
shellやpythonやdjangoの便利さに心奪われて
C#やASP.NETのことを忘れてしまうだろうな
それでも良いけど
635デフォルトの名無しさん
2020/07/24(金) 11:06:10.55ID:SsZ4AS8R >>634
心奪われるほどのものか?
心奪われるほどのものか?
636デフォルトの名無しさん
2020/07/24(金) 12:11:32.93ID:/tD0n6Gi 型安全じゃない言語ってホビー以外に使えるの?
637デフォルトの名無しさん
2020/07/24(金) 13:32:46.70ID:SsZ4AS8R >>636
使われてるでしょ?保守は地獄だろうけど
使われてるでしょ?保守は地獄だろうけど
638デフォルトの名無しさん
2020/07/24(金) 13:43:02.46ID:7VtUugQr じゃあ業務では使えないね
639デフォルトの名無しさん
2020/07/24(金) 14:23:28.01ID:Y2miOylG640デフォルトの名無しさん
2020/07/24(金) 15:00:20.11ID:SsZ4AS8R >>638
使われてるって言ってるのがわからないの?
使われてるって言ってるのがわからないの?
641デフォルトの名無しさん
2020/07/24(金) 15:19:35.82ID:7VtUugQr ホビーの延長みたいな感覚で仕事をしてる責任感の薄い人が居ることは事実
642デフォルトの名無しさん
2020/07/24(金) 15:22:41.00ID:ZEE8zZDA 板のローカルルールとスレのテンプレが読めない人はNG
643デフォルトの名無しさん
2020/07/24(金) 19:32:24.53ID:uJnpulJb 読んでるけど従うつもりがないだけなんでそこんとこ認識をヨロシク
644デフォルトの名無しさん
2020/07/25(土) 16:09:38.45ID:+eV1ptNI NSのC#自体のソース読むと結構アンマネージ使ってたような覚えがあるけど気のせいか
645デフォルトの名無しさん
2020/07/25(土) 16:10:19.04ID:+eV1ptNI ちゃたった
NS->MS
NS->MS
646デフォルトの名無しさん
2020/07/26(日) 08:31:48.16ID:Vt2OdSTv >>644
気のせいじゃなく、実際結構使ってるよ。
気のせいじゃなく、実際結構使ってるよ。
647デフォルトの名無しさん
2020/07/26(日) 12:34:03.71ID:PwqMs8Qo >>644
C#自体と言われてもよくわからないんだけど、roslynのこと?
C#自体と言われてもよくわからないんだけど、roslynのこと?
648デフォルトの名無しさん
2020/07/26(日) 22:14:35.40ID:/Zfph6D6 idisposeも実装されてない
他のクラスの既にできているオブジェクトを外から強制的に消す
(全く参照させない、gclistに強制的に入れる)方法って
ありますか?
そのクラス内のあるstaticクラス変数にそのオブジェクトの
thisが入っているので外から
そのオブジェクトのアドレスだけはわかる
状態です。
それをなんとか全くどこからも
使わせないようにしたい
他のクラスの既にできているオブジェクトを外から強制的に消す
(全く参照させない、gclistに強制的に入れる)方法って
ありますか?
そのクラス内のあるstaticクラス変数にそのオブジェクトの
thisが入っているので外から
そのオブジェクトのアドレスだけはわかる
状態です。
それをなんとか全くどこからも
使わせないようにしたい
649デフォルトの名無しさん
2020/07/26(日) 22:16:31.03ID:/Zfph6D6 あとthis.anyMethod()も
全くできないようにさせたい
外部から強制的に
できる?
全くできないようにさせたい
外部から強制的に
できる?
650デフォルトの名無しさん
2020/07/26(日) 22:21:36.89ID:/Zfph6D6 そのオブジェクトは
unityのObjectも継承してないので
static destroy(Object)も使えません
unityのObjectも継承してないので
static destroy(Object)も使えません
651デフォルトの名無しさん
2020/07/26(日) 22:25:51.16ID:KwNXIlQB >>648
IDisposable.Dispose()を実装して呼び出してもオブジェクト自体が消される訳じゃない
IDisposable.Dispose()を実装して呼び出してもオブジェクト自体が消される訳じゃない
652デフォルトの名無しさん
2020/07/26(日) 22:33:46.24ID:nxTYlDLI 条件がよくわからんしunityに限る話ならunityスレでは?
というかreflectionがあるんだから完全に禁止するってほぼ不可能じゃない?
というかreflectionがあるんだから完全に禁止するってほぼ不可能じゃない?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国、日本行き“50万人”キャンセル 渡航自粛でコロナ禍以来最大 ★2 [お断り★]
- 中国、日本行き“50万人”キャンセル 渡航自粛でコロナ禍以来最大 [お断り★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★5 [ぐれ★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★4 [BFU★]
- 【速報】日本産牛肉の対中国輸出再開協議が中止 ★2 [おっさん友の会★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 [ぐれ★]
- 【悲報】高市早苗さん、もう辞職しか選択肢がない… [271912485]
- 【愛国者速報】フィフィ、中国の“日本産水産物輸入停止”措置に私見「中国依存しないとやっていけない企業は考えを改めて」 [856698234]
- 【ござる専🏡】風間🥷配信実況スレ🏯【風間いろは】
- 【速報】中国政府、ゲームを禁輸。原神やブルアカ、荒野行動が日本で影響 [347751896]
- おさかなさんあつまれえ
- 中国「私達が怒ってるのは日本の政治家に対してで、日本の観光客や日本企業はこれまで通り歓迎する。これこそが大国としての余裕」 [377482965]
