グローバル変数を使うど素人はさっさと転職したほうがいいぞ
え?まさかプロがこんな所覗いて浅い知識ひけらかしてる訳じゃないよな?
Nugetでdll等をインストールする時にApp.configも一緒に差し替える事って可能なのでしょうか?
無理ならApp.configを書き換える手段を知りたいです
EntityFrameworkをインストールするとプロジェクトのApp.configも一緒に書き換えられてると思います
これと同じことがやりたいです
>>520
しらなんだー
使ってみます!
仕事でプログラム組んでた時にはいろいろと新技術を追いかけて勉強してたんだけど、
仕事じゃなくなるととりあえず、やりたい事を達成する為に
必要な機能をおいかける様になりますな。 引数ありで起動した場合はフォームを表示させずに処理させたいんだけど……?(°_ 。)?(。_ °)?
>>576
>>580
あおりじゃなく君たちがマジだったってのはわかったよ
質問者が明示的に指定した要望を満たす事だけを考えてるから話が噛み合わなかったのね
指定されたwhatが正しい前提でhowを考えるか
正しくない可能性も考慮してwhyを含めて考えるか
視点の違い 「○○なことがしたいんだけど…」
「その要望は正しくないから考えを改めるべきだ!」
正しくないからやらない
プログラマとは思えない凄い斬新な発想だな
素直に「ぼくにはできましぇん(泣)」って言えばいいのにね
質問でも回答でもないレスは他でやれ
>>607
わかりやすい方法の一つ
Visual StudioでWindowsFormで作るとProgram.csが作られるから書き換える
static class Program
{
[STAThread]
static void Main(string[] args)
{
if (0 == args.Length)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
return;
}
//ここから下に引数があった時の処理
}
} とりあえず初心者用スレで語るの辞めてもらえませんか
>>610
設計しない下請けプログラマー的発想だな 元請けだと実際>>610は普通にあるね
ほとんど全ての案件において、客の妄想のとおりに作るなんて不可能だし、できたとしても結果的に客の利益にならない >>615-616
よく知恵袋にいる質問者にSEKKYOしてる奴みたいなことしてんのか
お前らさては無職だな? またボケ老人同士のの繰り言合戦が始まった
繰り返すが、論点は>>521,>>529的な仕組みが必要になるケースがあるかどうか。
恐らくないことはない。
一般論としては要件の合理性に疑問を持つことは悪くないが、
上記の通りこの件に関してはただの言い掛かり より素晴らしい設計が本当に頭に浮かんでるならそれを見せればいいのにね
何も開示しない、ただ頭ごなしに否定するだけなら、言っちゃなんだけど何も作れない素人の戯言だよね
こういうコントロールの構造なんですが、Buttonがクリックされた時にTextBoxの文字を変更したいんですが、どうするのがベストでしょうか?
今は、Buttonから、ParentでFormまで辿って、そこからTextBoxまで辿り着いてるんですが、凄い非効率な気がします・・・
これと同じ構造のインスタンスが最大70個くらい出来ます。
↓
Form - Panel1 - Panel2 - TextBox
- Panel3 - Panel4 - TabControl - TabPage - Panel - Button
直接インスタンスを指定できないの?
private void Button_Click ( ... )
{
this.HogeTextBox.Text = "hoge";
}
イベントメソッドの共通化や、自作のボタンクラスの話だったりといった特殊なことをしたいのかな?
普通は上にある通りクリックイベントでテキストボックスの値を変えるだけ70個ボタンがあるなら70個書けばいいだけなんだけど
スタートボタンを押すとbackgroundworkerのwhileループを実行し、キャンセルボタンを押すと停止するプログラムを作りました
これを9時になると自動でスタートし、17時になると停止するプログラムにしたいのですがどうすればいいでしょうか?
自動停止時にはキャンセルボタンを押した時と違いそれ専用の処理を行いたいです。
コントロールの種類・処理が異なるなら、
各コントロール毎に、イベントハンドラーを付ける
逆に、コントロールの種類・処理が同じなら、
各コントロールの親に、イベントハンドラーを付けて、親で処理する
同じような関数を、たくさん作るのは良くないから
>>623
「windows タスクスケジューラ」で検索! どういった方法を使えばいいかすらわかりません
タスクスケジューラーはなしでやりたいです。
>>626
なんで?
それだともうサービスアプリみたいな方法しかないけど
苦労の割にタスクスケジューラと変わんないよ >>623
タスクスケジューラなんて関係ないから騙されちゃダメwww
要は今はUIのボタンを押して人が手動で開始/停止してるのを
開始時刻/停止時刻で自動でやりたいってだけでしょ?
そんなのタイマでも使って時計をポーリングするだけ。
何が難しいのよ逆に アプリは起動してる前提でいいの?
終了してると動かないけど
何が難しいかと言えば、ボタンが有るだけに「閉じるボタン」押されてアプリが落ちる件
また常駐アプリの概念すら知らない初心者が知ったかでアドバイスしてる
これ前も書いたけど、常駐なんて概念は20年以上前のシングルタスクのDOSの概念
今時何の意味ももたない
何が知ったかだよアホかほんと
マルチタスクで常駐が意味無いなんて初めて聞いたがどこ情報だよ
ソース出してみ?
windowsで○○時にアプリを起動したいという目的に一番かなっているのはタスクスケジューラー
linuxでもcron使う局面
ずっと起動しっぱなしのアプリやサービスでポーリングやタイマー使うこともできるけど無駄
単に起動するだけならタスクスケジューラーでよいと思うのですが
時間が過ぎたら、それ専用の動きをして停止したいのです
なのでタスクスケジューラーでは難しいかなと
timerで検索したり、同じような悩みの質問を探してみると必ず「タスクスケジューラー!」という回答者がいるのですが、求めているのはそれではないんです!
時間が過ぎたらってただ単にDatetime.Nowが指定した時間を経過したかどうか調べるだけだけど
>>629
タイマーを使って時計をポーリング?
という方法で調べてみます
ありがとうございます backgroundworkerのwhileループで指定された時間を超えてるか調べる
もし超えてたら何かをして終了
>>632
ボタンが有るGUIのあるソフトなんだから、普通にユーザーがウインドウを閉じることを想定すべきだよ
対策は閉じるを無効にするとか、GUIと本体を分離するとか、ユーザー教育でなんとかするとか、パソコン自体をソレ専用にするとか
何処らへんで妥協するか考えないとな 「大変!右上の×押したらプログラムが終了しちゃう!」
だから常駐化しろよって話だろ?
それでいつ開始すんだ?
朝7:00に起動するとして
前日18:00に閉じて
朝8:00に開いたので起動
でおk?
聞かれとこと答えずに必要のないこと聞き返したり聞かれていないこと回答する人たち
oo+qoL1t
b4TsAUH3
>>645
いいじゃん
後は質問者が抜けを塞げばいいよ 職業柄すべてのケースをマトリックスで表現しないと組ませてもらえないから気になるんだよ
ポーリングは、やったらダメなのが常識だろw
素人が助言してる
CPU が動き続ける。
CPU使用率が100% になって、フリーズするだけw
>>648
1秒タイマーでもCPU負荷なんてゼロも同然だよ
まさかノーウェイト全力ループさせることしか思いつかないとか? デスクトップアプリでAzureのデータベースと接続したいのですが、一般的に接続文字列等はどうやって隠蔽するんでしょうか
ハードコーディングしてもリバースエンジニアリングされたらモロバレになるので気になります
現在の日付時刻が設定した日付時刻より後か前か判断するにはどうしたらいいでしょうか?
datetime同士で引き算とかは可能なのですか?
ありがとう御座います
datetime同士の計算結果であるtimespanはtimespan>=0やtimespan<0で場合分けしても差し支えないのでしょうか
>>655
いや普通にDateTime同士で大小比較できるぞ なるほど、datetimeで大小比較すればいいのですね
ありがとう御座います
msdn分かりにくくありませんか?
難しい(*_*)
>>658
分かりにくいよね
俺も前からそー思ってけど言い出しにくかった unixtimeを4.0でDateTime型に変換するにはどうすればよかたい
backgroundworker開始時に次の17時になるdatetimeを取得してループ開始、ループ毎に現在のdatetimeと設定のdatetimeを比較して過ぎていたら停止させようと思うのですが
次の17時のdatetimeを取得する方法はありますか?
>>662
datetimeそのものじゃなくても時間だけならHourを比較したらいいよ
var h=Datetime.Now.Hour;
if( h>=9 ){ ... } //9時以降なら >>664
それがすごい気になるんですが
9時以降っていうのは何時までを指すのでしょうか?
極端な話次の日の8時とかになっても条件を満たしますか? >>665
.NET Framework4.0のこと?もうとっくにサポート切れてるけど合ってる? どこ基準のUNIXTIMEか知らないけど1970年1月1日からの経過秒数だから
var origin =new DateTime(1970,1,1);
var unixtime=DateTime.Now-origin;
タイムゾーンは自分で好きなようにしてください
>>666
Hourはあくまでも時間の部分だけだから0時になったら満たさなくなる
条件はよく考えて自分で設定すること ああ抜けてる
var origin =new DateTime(1970,1,1);
var unixtime=( DateTime.Now-origin ).TotalSeconds;
なるほど、ではループが30分の場合
終了を23時50分に設定してしまうと止まらず動いたままになる可能性もあるということですね
>>662
var n = DateTime.Now; // 今
var s = n.Date.AddHours(17); // 今日の17時
var x = n < s ? s : s.AddDays(1); // 次の17時
while (DateTime.Now < x) {
// 次の17時まで何かする
} Datetimeのコンストラクタはいろいろなパターンがあるからどうとでも作れる
DatetimeはTimespanを足して新しいDatetimeもつくれるので
まあじっくり見て勉強することだな
終了条件をどのように設計してるのか知らないけど特定の日付の特定の時刻を設定してたら
途中で休止などして時刻を過ぎた後、再度復帰した場合すぐ終了してしまう
そして、指定時間以降だったらまたすぐ動くことになる
などどういうことを想定するよって何を選ぶかは変わる
>>671
これいいですね!
解決しそうです。ありがとうございます。
xの?や:の意味がわかりませんがとりあえずコピペします
ラムダ式みたいなものかな? よかったです
?はifで:はelseみたいなものですかね?
便利ですね
16時59分スタートなら1分でストップ
17時00分ジャストなら次の日の17時まで24時間でストップ
>>671は17時直前に呼び出すと何もしないで終わる可能性があるな
do whileのほうがいいかもしれん 終了を17時30分にしたい場合は以下のようなコードで大丈夫でしょうか?
var n = DateTime.Now; // 今
var s = n.Date.AddHours(17).AddMinutes(30); // 今日の17時30分
var x = n < s ? s : s.AddDays(1); // 次の17時30分
while (DateTime.Now < x) {
// 次の17時30分まで何かする
}
>>680
こんな感じでも特に問題はありません。
むしろわかりやすくて希望通りです。 DateTimeなんてめったに使わんけど、使ってみたら値型のくせにイミュータブルで
なんだか使いづらいね
// 時分秒が指定した値となる現在より後の直近の日時を返す
public static DateTime GetNextDateTimeFromNow(int hour, int min, int sec)
{
var now = DateTime.Now;
var next = new DateTime(now.Year, now.Month, now.Day, hour, min, sec);
return next > now ? next : next.AddHours(24);
}
>>682
試せばいい
DateTime.Nowじゃなくて自分てnew Datetime()して
自由にnを作って試せばいい >>684
AddHours(24)なのはなぜ?
うるう秒があったらずれる(そんな仕組みは多分ないけど) とりあえずその時間帯ですが21時から5時までとかにも対応するようにしたいです。
とりあえず出来そうです助かりました。
>>669
.NET4.6以降ならBCLに専用のAPIが用意されてるからこんなことしなくていいんだけどね >>694
4.0はもうサポート対象外だし、Windows Server 2012も非対応なのに使わざるを得ないとか同情するわ >>692
最大実行時間は何時間なん?
21時〜3日後の21時までなんて可能性は排除できるん?
平日と休日とで違いはないん?
とかね
なんか仕様がモヤっとしてんじゃん >>696
だいたい8から13時間程度の稼動になります! 4.X系ならアップグレードのコストはそんなにかからないだろうに
お前が変えさせるか、辞めちまえ
>>697
最大よ最大
返答に範囲が返って来ると気が狂うん
イレギュラーケースの最大を聞いてん task.delay(100)とTheading.sleep(100)ってどう違うの?
CPU100%とか言ってるし無限ループと勘違いしてるんだろ
>>702
Thread.Sleepは指定した時間自分のスレッドを停止する
Task.Delayは「指定した時間停止するスレッド」を生成する
Task.Delayは単独では意味がないのでawaitなりContinueWithなりする async/awaitの勉強しているんだが、async voidやasync Taskのメソッドをawait無しで呼び出したらそのメソッドの処理は投げっぱなしになるの?
そもそも、MS が、50ms 以上掛かる処理は、同期処理するなって言ってるだろ。
非同期処理にして、callback してもらうようにって
「ポーリング」で検索して、色々な記事を読め
何がそもそもなんだw
>>709の世界ではDateTimeの比較演算に50msもかかるのかw
30年前のPC-98だってそんなにかからないと思うけどww
ネタなのかマジなのか知らんけど、そもそもHW資源を直接触れないOS上で動くコードは
一件コールバックのように見える処理も実態はポーリング
単にそれがシステム側のコードに隠蔽されてるだけ spin lock なんてものは無かったんや
いやぁ勉強になるなぁ
元々タスクスケジューラで十分な話をよくもここまで長々と続けられるな
質問にとは関係ない部分で知識をひけらかしたい奴がいるから
仮にオレがこのソフトを作るとしたら、NotifyIconのデザインで小一時間悩むところから始まるだろうね
何時間も待つ処理だろ。
50ms を超えてるから、非同期処理を使えって、MS が言ってる
自分でプログラミングで、ポーリングしたらダメ
OS の内部処理とは関係ない
指定したディレクトリの中を一発で全て置換する何か便利なソフトはありますか?
c:\test
aaa.txt
bbb.txt
ccc.txt
...etc
指定したディレクトリの中に複数のファイルがあります。
その中にある特定の文字列を全て一括で置換したいです。
アンパンマン → バイキンマン
といった具合です。
1秒タイマーでタイムアウトするたびに目的の時刻を越えたか
調べるだけでいいじゃないの
違ったら即抜けるだけなのに、50msも掛かる処理じゃねーよ
なんでわざわざタスクスケジューラー使わにゃならんのだ
コミュ障は病気だからやむを得ないが
読解力は人並みに身につけてから書き込んで欲しいよなw
タイマーのインターバルは10秒とか100秒だけじゃなくて、10年でも100年でも設定できるんだから
起動時に開始と停止までの時間を計算してタイマー設定すれば
ポーリングしなくても良いんじゃね?
>>723
時刻合わせせずPCの時計を常に基準にするのか
というか仕様や設計の話は他でやってくれないかな >>723
Timerのインターバルはint型でmsec指定
1年の秒数は31536000秒
あれぇ? >>724
PCの時刻を基準にしないでどうすんの?
純粋に興味あるから教えてくれ >>725
wpfばかり使ってたんで、DisptcherTimer基準にしていたわ
悪いな 初心者の陥りがちなミス
Timeの精度を信用してしまう
途中で時刻修正の入る場合などを考慮しない
>>724
今のPCはネットに繋がっていれば時間は自動で合わせてくれる
インターネットに繋がっていない前提ですか? こういうインフラの煩わしい制約からコアになる処理を分離したい
ワーカー側は終了再開するためのapiを用意して時間や終了再開するタイミングの事は一切考えない
時間を管理するクラスが適切なタイミングでそれらのapiを実行する
というのが正解な
時間管理クラスが内部でループぶん回そうがシステムコール使おうがそれはどうでもいい
c#環境では指定時刻にイベントを起こすAPIは用意されてない
指定したディレクトリの中を一発で全て置換する何か便利なソフトはありますか?
c:\test
aaa.txt
bbb.txt
ccc.txt
...etc
指定したディレクトリの中に複数のファイルがあります。
その中にある特定の文字列を全て一括で置換したいです。
アンパンマン → バイキンマン
といった具合です。
>>701
callbackはどんな条件のものをどうやって作るんだ
>>729
時刻合わせのタイミングでインターバル補正するコードは思いつかないな
時間定期的にcheckするだけのものをどこまで難しくする気だコイツら >>737
お仕事でなんでこの仕様からこんな糞コードが生まれるんだろと不思議に思うことあるけど、このスレの流れ見たらある意味納得だわ >>737
1秒ポーリングでも最大1秒弱の誤差が出るわけだが、内蔵時計ってそこまで精度悪いの?
実用上問題ない誤差に見えるがちょっと気にしすぎじゃね? どうでもいい
そんな盛り上がるネタじゃないだろうw
いい加減止めたら?
1秒ポーリングでやろうぜ
現在時刻が開始〜終了時刻の範囲
起動Flagなし
起動処理
起動Flag立てる
現在時刻が開始〜終了時刻の範囲外
起動Flagあり
終了処理
起動Flag下ろす
(*゚∀゚)bできた!
持ってるけど少し勉強すれば誰でも取れる資格に意味なんてあるの?
精々資格手当で給料が5000円プラスされる程度の価値しかないぞ
5000円の価値も分からないとか働いたことないのかな?
5,000円も上乗せとかウラヤマ過ぎだろ
うちなんて高度取っても報償金30,000円だけ
基本や応用ではなにもでない
10年以上やってる奴でも、基本情報技術者は取れない
大卒の新米が、こんなの簡単に取れますよねって言ったら、
中堅社員は皆、新米をにらみつけていたw
企業の資格取得率は、年1%(100人中1人)ぐらいだろ。
10年いても、9割の社員は、資格を取れない
申し込みしたけど忙しくて受験できない人は沢山居るけど受験して落ちる人はいない
俺は応用情報まで持ってて+1万だなー
>10年以上やってる奴でも、基本情報技術者は取れない
……冗談だろ?
さておき、建築士だの医師だの弁護士だのみたいに
「この職務に就くには、○○の資格が必要」とかいう業界じゃないんで
本当に、ただ給料が増えるだけではあるな (採用試験でもまあ有利にはなるかもしれん)
増えたら増えただけ嬉しいもんではあるが
年間で+12万なら、家電の買い替え費用くらい楽に捻出出来るし
定したディレクトリの中を一発で全て置換する何か便利なソフトはありますか?
c:\test
aaa.txt
bbb.txt
ccc.txt
...etc
指定したディレクトリの中に複数のファイルがあります。
その中にある特定の文字列を全て一括で置換したいです。
アンパンマン → バイキンマン
といった具合です。
>>752
普通は資格手当ては基礎賃金扱いだからボーナスや残業計算対象でもっと貰えるよ
基本情報で5000は羨ましいけど資格手当て込みのベースにしてるパターンもあるから一概にいいとはいえないかもね Ruby の、Dir.glob で書ける
Dir.glob('C:/test/*.txt') do |file|
# gsub(/アンパンマン/, 'バイキンマン')で全部を置換する
end
C# もしくは 既に要件を満たすツールがあれば教えてください。
>>753
マジレスするとVisualStudioで可能 >>753
awkやろ
百歩譲ってRubyとかのP系言語
C#は向いてない public Pixel(IList<byte> data, int index)
{
B = data[0];
G = data[1];
R = data[2];
Index = index;
}
var list = new List<(int x, int y)>();
// 何故か背景色がFFA07A固定なのでそれ使って適当に
list.AddRange(pixels.Where(x =>
Math.Abs(x.R - 0xFF) < 5 &&
Math.Abs(x.G - 0xA0) < 5 &&
Math.Abs(x.B - 0x7A) < 5
).Select(x => (x.Index % width, x.Index / width)));
ビットマップをPixelクラスに読み込んで特定の色(FFA07A)のピクセルを検出しているのですが
(x.R - 0xFF) < 5
ここのRGBから16進数をマイナスして5未満の意味がわからないのですが
なぜこんな計算をしているのでしょうか?
>>759
VS2017にそんな機能があったんですね。便利!
VS2010じゃその機能はないよね? >>762
その前にMath.Absが付いとるじゃろ
目的の値との差をとって、その絶対値が5未満
つまり、ぴったり一致しなくても±4までの誤差ならOKとしている >>768
なるほど!誤差の為ですか
ちょっとした技を使ってたんですね
ありがとうございました。 IEに開かせればできるかもと思ったのでやってみます。
すまんが、イベントハンドラーを空っぽにするのってどうやんの?
nullから空っぽのラムダ式を入れる
もしそのイベントを持つクラスの外からやりたいと言ってるならそれは無理
無理と言うより、そんなことをしたいと思うこと自体が間違ってる
ユニットテストについて質問
例えば計算クラスのテストをするときは
[TestCase(-2, 2)]
public void AbsTest(int a, b){
int n = Math.Abs(a);
Assert.AreEqual(n, b);
こういう風に正しい値を予め手計算で用意しておくものなの?
>>776
一般的にはその通り
間違っても n = a < 0 ? -a : a とかやってはいけない
ちょっと考えたら分かると思うけど、そういうのは全く意味のないオレオレテスト
手計算がどうしても困難なら、デバッガで動かしてその結果が合ってるかを検証してその値をコピペしとけ
少なくとも意図しないデグレの検出には役立つ >>777
ありがとう!
チェック項目が増えると引数が酷いことになるから何か間違えてるのかと思ってた >>778
それはテストの観点を適切に直行化できてないんじゃないか?
引数xが3以上のとき結果は必ず負になることが期待されるとしたら、
テストは3と3を超える値を引数に入れて、それぞれの結果yについて y < 0 が真となることを確認すればいいんだぞ
何を確かめたいのかを明確にしてそれをそのままコードで書くんだよ LinqのJoinメソッドに渡すメソッドなんだけど、ラムダ式で書く方法が全然理解できないぜ・・・・
多分、掲示板で解説するのも難しいと思うので、やさしく解説してるページやら本やらがあったら教えて!!!
>>780
どれがわかりやすいかなんて人それぞれだから宛にならないよ
ラムダ式でぐぐって良さそうなら熟読してわからない所を質問するといい ラムダ式とか正規表現とか、記憶してるやついないから大丈夫
毎回ググればいい
ラムダ式って、無名関数の構文糖だろ
func (引数1, 引数2) => 戻り値
(a, b) => result
λを採用した祖の言語LISPなんてわざわざ(lambda〜)と毎回書いてるのに変な略称=>なんて許されんばい
λと書きんしゃい
質問失礼します。
以下のようなプログラムを書いたところコメントに書いたようなメッセージが表示されますが、
このメッセージに従ってインライン化しようにも、どのように修正すれば良いか分かりません。
これはIDEのバグだと思って無視しても良いものなのでしょうか。
インライン化の有無は可読性だけの問題でパフォーマンスなどに影響はないのだと思いますが、
このようなメッセージが表示されたままプログラムを完成とするのはあまり気分がよくありません。
プログラムの修正方法や、このようなメッセージに対する考え方など、
分かることがあれば教えていただけないでしょうか。よろしくお願いします。
static void Main(string[] args)
{
void getMessage1(out string _message) => _message = "x is 1.";
void getMessage2(out string _message) => _message = "x is not 1.";
int x = 1;
string message; // IDE0018 変数の宣言をインライン化できます
if (x == 1)
{
getMessage1(out message);
}
else
{
getMessage2(out message);
}
Console.WriteLine(message);
}
そんなもん買っても十中八九忘れる
基本ネットに転がってるコピペで食いつなぐのが一流
>>789
なんでoutを使うのかが分からないんだけど >>789
"IDE0018"でググったら一発で解説が見つかるんだけどw
何でその長文タイプうする前に検索しないのよw
そこが分からん >>792
そういうことを言ってるんじゃないと思うけど…
手元にあるc#7.1じゃ再現しないんだけど 普通に考えるとスコープから外れるからインライン化できないはずなのにインライン化を進めてくるってことでそ
早速たくさんのレスありがとうございます。
お返事に少し時間がかかってしまいそうなので、上から順に書き込みたいと思います。
お待たせしてしまって申し訳ありません。
>>791
レスどうもありがとうございます。
色々なクラスで定義されているTryParseやIDictionaryのTryGetValueは
使いやすいと感じていて、それを参考に定義したメソッドをifの内側で使おうとしたのが
>789のようなプログラムを書いた経緯です。
しかし確かに複数の情報を返却したければそれ用のクラスを定義すれば良いことですし、
C#7ではタプルも構文化されているので、もはやoutは時代遅れということでしょうか。
C#にはいくつか負の遺産もあるということなので、その辺りについても勉強したいと思います。 >>792
説明が不十分で申し訳ありません。
>>795の方が分かりやすく説明してくださっているので蛇足になってしまうかも知れませんが、
私が検索した範囲では、
string message;
getMessage1(out message);
は
getMessage1(out string message);
に直せば良いということは分かったものの、変数の定義と関数の呼び出しとの間に
(今回の例のifのような)別のコードがあって、それが移動できないように見えても
メッセージが表示されてしまう場合があるということです。
ただ、「移動できないように見える」という部分に自信がなかったのと、
仮にそれが正しかったとしてもこのようなメッセージをどの様に受け止めれば良いのかが
よく分からなかったので質問させていただきました。 >>793
IDEがなんと言ってきているのか、とういことでしょうか。
サンプルコードを空行も含めて上から数えて7行目のコメント文なのですが、
「IDE0018 変数の宣言をインライン化できます」というメッセージが表示されます。
それとも、私がどのようなお返事を期待しているかとういことであれば、
このメッセージに対処するためのプログラムの修正方法や、
このようなメッセージに対する考え方などを教えていただけないかと考えています。
しかし、私の期待していること自体が見当はずれということもあると思うので、
それ以外でも何か気がつくことがあれば教えていただけると嬉しいです。 VSとターゲットのフレームワークのバージョンを書いてないのがいまいち