ふらっと C#,C♯,C#(初心者用) Part139

■ このスレッドは過去ログ倉庫に格納されています
2018/08/05(日) 19:55:44.50ID:tZmoj8I+
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

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

■関連スレ
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part138
https://mevius.5ch.net/test/read.cgi/tech/1528194762/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/

■情報源
https://msdn.microsoft.com/ja-jp/library/gg145045.aspx
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://msdn.microsoft.com/en-us/library/gg145045.aspx
http://referencesource.microsoft.com/
2018/08/16(木) 23:17:36.51ID:4LOkjF+G
何度もみんな言っている通りAとBじゃなくてHogeとFugaでなんとかしろって話だと思うんだが、なんでそんな頑なにAとBにこだわるの?
50デフォルトの名無しさん
垢版 |
2018/08/16(木) 23:23:32.70ID:sGlIzl1X
Hage Tsuru Pika
51デフォルトの名無しさん
垢版 |
2018/08/17(金) 00:12:00.44ID:bI0Dxrf9
アドバイスを基にこの記述で行けるか!と思ったのですがreturn hoge;でList<IStore>でないとダメと怒られました
素人のぬか喜びでした
public interface IStore
{
}
public class Fuga: IStore
{
public string val { get; set; }
}
public class Hoge: IStore
{
public int val { get; set; }
}
public interface ITest
{
List<IStore> Hogege();
}
public class A : ITest
{
public List<IStore> Hogege()
{
List<Hoge> hoge = new List<Hoge>();
hoge.Add(new Hoge { val = 1 });
return hoge; //エラー
}
}
2018/08/17(金) 00:24:38.97ID:ceNJ30ox
visualstudioをインストールしました
参考書にはWindowsフォームアプリケーションやコンソールアプリケーションなどあるんですが、インストールしたvisualstudioには見当たらないです
何が設定かインストールし忘れたのでしょうか?
2018/08/17(金) 00:50:04.81ID:PFV80D0U
>>52
VisualStudioのスレで聞くべきだけど、その前にどのバージョンをインストールしたか把握している?
VS2017ならスタートページで「新しいプロジェクトの作成」をクリックするかメニューのファイル>新規作成>プロジェクト
2018/08/17(金) 17:33:16.91ID:ceNJ30ox
>>53
すみません、C#の話でしたのでこちらに書き込んでしまいました
visualstudioのバージョンは2017です
それで、visualstudio起動後のファイル>プロジェクト>新しいプロジェクト内に存在しないんですよね…

あるのは空のアプリ、WPFアプリ、Windowsランタイムコンポーネント、クラスライブラリのみでした
2018/08/17(金) 17:55:13.19ID:tlmPPTdZ
http://image.itmedia.co.jp/ait/articles/1704/10/dt-01.gif
http://image.itmedia.co.jp/ait/articles/1704/10/dt-05.gif
Windowsクラシックデスクトップって奴だと思うけどそれは分かってる?
インストール時に選択してないなら知らんけど
2018/08/17(金) 18:00:12.39ID:PWcnU2kA
WPF入っているのにWinフォームとコンソールアプリ入っていないって何か変なことやっていそう
インストーラーでそれっぽいの入れなおしてそれでもだめなら素直に専用スレ行けばいい
2018/08/18(土) 13:00:11.77ID:XAZ8inQ9
Windows 7はデフォでFW 3.5が入ってて
WIndows Updateを適当に入れてけば今サポートされてる最古のFW 4.5.2になるって認識でOKですか?
それともWindows UpdateするだけではFWは更新されない?
2018/08/18(土) 14:06:53.55ID:CVV71Jnt
fwって何だファームウェアか
2018/08/18(土) 14:11:43.31ID:piDfOcEW
ここ言語スレなんだよなあ
>>57
http://www.atmarkit.co.jp/ait/articles/0910/15/news116.html
https://docs.microsoft.com/ja-jp/dotnet/framework/install/on-windows-7
Windows7で4.0以降はOSのアップデートに入らない。OSのスレで聞いてくれ
2018/08/18(土) 14:15:04.34ID:63PJyp6j
いちいち交通整理くっだらねアホか
こういう馬鹿、自分が質問者以上にスレと関係ないことをほざいてる自覚がないらしい。
そもそも馬鹿は自分を客観視できないからな
2018/08/18(土) 14:29:01.60ID:bu3iHsiJ
>>60
おまえそれどのレスに対して言ってんの?
2018/08/18(土) 15:08:10.60ID:CVV71Jnt
前スレにもいた客観視君か
九官鳥みたいだな
63デフォルトの名無しさん
垢版 |
2018/08/18(土) 15:27:59.00ID:AFavdKXG
前から誰のこと言ってるのか知らんけど、この意味不明な粘着質、普通にストーカーと同じメンタルだ
2018/08/18(土) 17:48:26.71ID:pAmB63kN
>>58
(.Net) Frame Work だろ
65デフォルトの名無しさん
垢版 |
2018/08/18(土) 18:22:34.56ID:m2/0Uqcq
FWって初めて聞いたわ。.NETと一般的な名称使わずにオレオレ略語使う奴って頭悪そう
2018/08/18(土) 18:36:09.82ID:rpJq+M3x
C# スレで FW 3.5 って来たら候補は一つしか無い
2018/08/18(土) 18:38:11.71ID:PMPVVek/
fwと言えばファイアーウォールだな・・・

と思ったけどWikipediaによるとフレームワークの略語としても定義されてたわ
https://ja.m.wikipedia.org/wiki/FW
2018/08/18(土) 18:55:10.22ID:bESODcUh
ファーム
2018/08/18(土) 18:59:38.07ID:y78sZYS/
>>57
アップデートだけじゃ無理だよ
.NET4.0入れたら4.5.2まで行けた記憶あるが
70デフォルトの名無しさん
垢版 |
2018/08/18(土) 21:05:24.91ID:XoXRtiM1
VISUALSTUDIOのバージョンとC#のバージョンの対応関係ってどこかに一覧表ない?
71デフォルトの名無しさん
垢版 |
2018/08/18(土) 21:45:53.66ID:m2/0Uqcq
あるよ
72デフォルトの名無しさん
垢版 |
2018/08/18(土) 21:50:46.39ID:IgqCTt2j
あるわけないだろ
2018/08/18(土) 22:02:40.56ID:y78sZYS/
>>70
qiitaでアレだが
https://qiita.com/nskydiving/items/3af8bab5a0a63ccb9893
2018/08/18(土) 22:09:57.24ID:G1cg7QSD
Firewallやろ
2018/08/19(日) 08:12:36.40ID:k1wUp59c
>>73
サンクス!
76デフォルトの名無しさん
垢版 |
2018/08/19(日) 20:03:15.69ID:WKvykaAV
PostgreSQLからデータ抽出したいんだけど
何を使えばいいですか?
データの更新追加削除もします
2018/08/19(日) 20:06:52.16ID:/xcR5TgM
google
2018/08/19(日) 20:07:06.44ID:mWLpYff3
>>76
Dapper
79デフォルトの名無しさん
垢版 |
2018/08/19(日) 20:29:51.81ID:WKvykaAV
>>78
Npgsqlってのは駄目なの?
2018/08/19(日) 20:39:13.05ID:mWLpYff3
>>79
ADO.NET感覚でDataReaderやDataSet使いたいならそれでもいいと思うけど、今更感あるような
2018/08/19(日) 20:47:54.16ID:ztvlDXyo
>>80
Dapper使うならNpgsqlも必要だろ
自分で使ったこともないのに回答してるの?
82デフォルトの名無しさん
垢版 |
2018/08/19(日) 20:49:37.70ID:WKvykaAV
>>80
>>81
どっちも勉強してみます
ありがとうございます
83デフォルトの名無しさん
垢版 |
2018/08/19(日) 22:25:18.22ID:WKvykaAV
メッソッドってregionで囲むもんなん?
これアウトライン用よね?
84デフォルトの名無しさん
垢版 |
2018/08/19(日) 22:33:16.81ID:NgDo0XDZ
冗長なコード書くやつは畳みたいんだろう
2018/08/19(日) 22:43:06.20ID:Qn4G0bqC
畳みたくなるような長いクラスは書かない
86デフォルトの名無しさん
垢版 |
2018/08/19(日) 22:44:46.22ID:WKvykaAV
>>84
>>85
好きにしてってことか

メソッド囲んでるソース多かったから基本なのかと思ったけど
面倒だし囲まないことにする
2018/08/19(日) 23:10:34.65ID:0oWhlzQ+
全ての機能をFormに
2018/08/19(日) 23:19:59.25ID:hDKgqoRf
俺はregionによる仕分け多用するけど一般的な習慣とまでは言えないね

でも、単純にプロパティ、メソッド、イベント(OnXxxx)、コンストラクタに分類するだけでも
少なくとも視覚的な見やすさはだいぶ違うと思うよ

MSDNライブラリのクラスメンバー一覧がそういう分類じゃなく単純にアルファベット順だったら
どうか想像すりゃ分かると思うけど
2018/08/20(月) 20:47:47.03ID:4Ys3BH8f
複数のメソッドをregionで囲むはまだ許せるが、くそ長いメソッドの一部をregionで囲って短く見せるのは許せない
2018/08/20(月) 21:12:28.08ID:dwFWVIwC
>くそ長いメソッドの一部をregionで囲って短く見せる
海外サイトでサンプル漁ってると時々見かけるな
91デフォルトの名無しさん
垢版 |
2018/08/20(月) 21:18:42.69ID:7wKYHqTA
まあアウトラインってスコープ単位で線引されるからね
regionは昔の機能と思っていいよ
2018/08/20(月) 21:21:04.27ID:Uo4wU7xn
メソッドはregionで囲まなくても普通に畳めるよww
93デフォルトの名無しさん
垢版 |
2018/08/20(月) 21:23:33.78ID:7wKYHqTA
>>92
畳めるけどメソッドをregionで囲ってるソースみること結構あるわ
94デフォルトの名無しさん
垢版 |
2018/08/20(月) 21:23:49.70ID:7wKYHqTA
ホント謎
2018/08/20(月) 21:41:03.34ID:UWgl1tII
メソッド単位で囲ってるのは俺も謎だと思ってた
昔は普通にたたむのできなくてその名残とかなのかもしかして普通にたためるの知らないのか
2018/08/20(月) 21:43:29.04ID:/2kqdAhT
メソッドで畳めないIDE使ってるとか?
2018/08/20(月) 21:45:48.75ID:1JpQrvUt
IEnumerable、IDisposable、IEquatableみたいな定型インターフェイスの実装は邪魔なんでregionで括ってるわ
あとToStringやらGetHashCodeのオーバーライドなんかも
2018/08/20(月) 21:50:55.75ID:DUHqVJSw
>>97
.NET Frameworkのライブラリと同じように作らなきゃいけないと勘違いしてた頃は俺もそれやってた
アプリと不特定多数向けのライブラリは作り方が違ってていい、アプリはなるべく絞り込んで作るのがよい、
ということを理解してからは無駄なコードが減って必要なくなった
2018/08/20(月) 22:10:27.90ID:FTwuHoIr
不特定多数向けのライブラリを作ってるのかもしれないだろ
2018/08/20(月) 23:12:34.39ID:4xbzQ56O
IDisposableはusing使うために必須だからなあ
101デフォルトの名無しさん
垢版 |
2018/08/21(火) 00:18:54.40ID:oo1eFPzK
HttpClientみたいにsession繋ぎっぱなしが推奨されてるのにusing使う奴
2018/08/21(火) 00:23:49.00ID:2/I2BB9Y
>>101
なんでそのルールをセッション繋ぎっぱなしが推奨されないものにまで適用しなきゃいけないの?
2018/08/21(火) 00:27:03.72ID:2ZNryZEm
ここで聞くことでもないんだけど適当に意見くだせえ
仮に外部設計書・内部設計書・詳細設計書が必要として、
詳細設計書は別ファイルで作成するよりxmlドキュメントコメント使って生成したxmlファイル使った方がよっぽどいいよね?
2018/08/21(火) 00:40:44.14ID:lLRe5osi
>>103
ドキュメントコメントは内部設計だろ
詳細設計というのはソースコードを日本語に逐語翻訳したものであり、一般にはコーディングシートと同じもの
下請けの一番使えない奴に押し付けるのが一番
105デフォルトの名無しさん
垢版 |
2018/08/21(火) 00:46:11.78ID:Fn3PsyHg
>>102
日本語読めます?
2018/08/21(火) 00:50:51.67ID:1ei+2zpw
最初の設計がおかしかったからこんなことになった

using使えるような新しいライブラリを出してこないMSが悪い
pythonだったらpython的でないと言う理由で新しいライブラリが出てくる
2018/08/21(火) 01:07:05.30ID:krr9M76P
>>101
ファイルの利用が終わったのにすぐにファイルハンドルを解放しないとか不便でしょうが
2018/08/21(火) 01:46:45.25ID:2ZNryZEm
>>104
ドキュメントコメントは内部設計なの?
サイトによって言ってること違って混乱してる
内部設計書=詳細設計書と書いてるところもあれば、
内部設計書=複数の処理の流れ、詳細設計書=ドキュメントコメントってところもある

自然言語でコード書いた奴は見当違いで本来必要の無い何かって認識だった。会社と人によって違うのかな
2018/08/21(火) 02:00:13.53ID:lLRe5osi
>>108
詳細設計はCOBOL時代の名残りだ
パンチカードや80x24文字の画面でコーディングしてた頃はソースコードは純粋なアウトプットであり、
ソース上で試行錯誤したりソース眺めながらコミュニケーションしたりするなんていう発想は無かったの
プログラミングはタイピングの前に完了していなければならず、詳細設計を作成することこそが今でいうコーディング工程そのものだったんだよ
本来全く必要のないもの、でまさに正しいんだよ
2018/08/21(火) 02:01:33.41ID:NrpzP/Hk
>>106
HttpClientFactoryも知らないおじいちゃんこんにちは
2018/08/21(火) 07:18:27.76ID:K3bJIWvH
>>103
答えはNO
内部・詳細設計書はゴミのように不要どころか持ってると邪魔なものだけど客は金を出してくれる
ビジネスでやる以上金になるほうを選ぶのが当然
112デフォルトの名無しさん
垢版 |
2018/08/21(火) 09:21:19.00ID:6+/Jo0uy
設計書ネタはスレちがくね?
2018/08/21(火) 09:58:08.14ID:eCXr2PsD
質問者すらそう言ってるが
言及したがりのバカが沸いたからしゃーない
2018/08/21(火) 10:26:32.76ID:UjHMgN47
しかも最初の疑問点からずれた話題だけを掘り下げるという意味不明な状態
2018/08/22(水) 12:27:18.26ID:DYb1gEuJ
Win32API関数でのエラー処理について質問です

var DllFilePath = "hogehoge.dll";
handle = LoadLibrary(DllFilePath);
if (handle == IntPtr.Zero)
{
 throw new System.ComponentModel.Win32Exception();
}

↑のコードで例外をthrowするときに例外のMessageにDllFilePathの値を追加したいのですが

throw new System.ComponentModel.Win32Exception(DllFilePath)

とすると本来のエラーメッセージが上書きされてしまいます。

var DllFilePath = "hogehoge.dll";
try
{
 handle = LoadLibrary(DllFilePath);
 if (handle == IntPtr.Zero)
 {
  throw new System.ComponentModel.Win32Exception();
 }
}
catch(System.ComponentModel.Win32Exception e)
{
 throw new System.ComponentModel.Win32Exception($"{e.Message} \"{DllFileName}\"", e);
}

こうすれば期待通りの内容にできるのですがAPI呼び出しの度に例外処理を書くのは
コードが冗長になってしまうし何より面倒なのでうまいこと簡単に書けないか悩んでいます。
何かいい方法は無いですかね?
2018/08/22(水) 12:58:43.22ID:GmRbaMy/
>>115
Win32Exceptionを継承して使う
2018/08/22(水) 13:00:35.25ID:Ua1FlSB5
>>115
public class LoadLibraryFailedException : Win32Exception
{
  public LoadLibraryFailedException (string path)
  { DllPath = path; }

  public string DllPath {get; private set; }
  ...
}
2018/08/22(水) 14:32:10.34ID:DYb1gEuJ
Messageに情報を足すことばかりが頭にあって
情報を別のプロパティに持たせる発想がなかった…

こっちのほうがcatchする側で融通が利かせやすいし
クラスやプロパティの名前を調整すればLoadLibraryに限らず
他のAPI呼び出しにも汎用的に使えそうでいいですね

この方法で検討してみます。ありがとうございました
119デフォルトの名無しさん
垢版 |
2018/08/23(木) 11:52:17.79ID:+a3jfYk1
すんません初歩駅な質問なんですが
フォームアプリのコントロールに
ボリュームやスライダーのような可変データコントロールは無いのでしょうか?
似たのはNumericUpDownがありますが・・・
これの画像を差し替えてボリューム風にしろってことですか?
2018/08/23(木) 12:20:54.20ID:Qdf2BjgW
>>119
トラックバー
121デフォルトの名無しさん
垢版 |
2018/08/23(木) 12:40:46.09ID:+a3jfYk1
>>120
おお!「コモンコントロール」にも他カテゴリにも無いコントロールがあったのか!
完全に見落としてました
ところでこれの画像を差し替えて丸型回転ノブにすることはできるんでしょうか?
まだ勉強不足でよくわかってないのですが
Imageプロパティとか無いからできないかな?
2018/08/23(木) 13:36:36.72ID:XFHRsDpy
ノブに変えるのは
おお難しいんじゃあ〜
2018/08/23(木) 13:42:16.42ID:OU0cRkrI
初心者に回転ノブの実装は難しいと思う
ってか使いにくいだろ
2018/08/23(木) 13:58:21.08ID:oqmXoghj
>>121
画像だけで済まないでしょそれ
そんな形で回転するコントロールは無いので一から自作しないと
>>123
マウスホイール部分で動かすのならともかくドラッグで操作するものとか考えただけで頭痛くなる
2018/08/23(木) 14:11:46.80ID:YLcqAqh8
volatile キーワードの役割がどうしても理解できないので教えてください。

自分の考えでは、以下のようなプログラムを最適化ありでコンパイルして実行すると
while (loop) ; のループから抜け出すことができないから
volatile キーワードが役に立つのかと思ったのですが、
残念ながら(?)実際に試すと普通にループを抜け出せてしまいました。

class Program
{
  static bool loop = true;

  static void Main(string[] args)
  {
    new Thread(() =>
    {
      Thread.Sleep(1000);
      loop = false;
    }).Start();

    while (loop) ;

    Console.WriteLine("End");
  }
}

そもそも、volatile がある場合とない場合で動作が変わるコードを
ただの1つも作り出すことができていない状態なので、
何か volatile の役割を示すコードの例を示していただけると嬉しいです。
よろしくお願いします。
126デフォルトの名無しさん
垢版 |
2018/08/23(木) 15:15:56.49ID:MTIo/8hT
>>122-124
むむむ画像の差し替えだけじゃ回転ノブは難しいのか!
C#というのは在り物のコントロールをそのまま使って工夫するものなんですかね?
2018/08/23(木) 15:23:55.44ID:7meTQdNO
マジレスするとメッセージ捕まえて
自力で描画すれば可能なんだけど
労力に見会わないのでお勧めしない

webやWPF, UWPならグラ弄るの簡単
2018/08/23(木) 15:58:07.77ID:yzuHUqjv
労力かけてそんな使いにくいUI作る必要ないだろ
2018/08/23(木) 19:00:57.46ID:4aOJVToK
たぶん音量調整とかしたいんだろうけど
そんなui見かけないのは使いづらいからでは?
130デフォルトの名無しさん
垢版 |
2018/08/23(木) 19:45:13.80ID:/L2wlbg3
regionの適切な使い方って結局どうすんのがいいんだ?
独学だし人のあんま見たことないからよくわからん
131デフォルトの名無しさん
垢版 |
2018/08/23(木) 19:50:59.55ID:Hj0kcImk
折れ線グラフとか棒グラフとか
3Dで立体的に表示できる機能なんかない?
開いたら開始地点から現在の値のトコまで棒が伸びていくアニメーションとか
リッチ感だしたいんだけど
2018/08/23(木) 21:01:34.44ID:IbEC1I+s
GDI+よりWPFが簡単とはまったく思わんなあw

>>129
XPの時代はそういうUIが結構あった。

>>126
ボリュームの位置(値)を、例えば小さな丸で示す実装なら超簡単でしょう。
133デフォルトの名無しさん
垢版 |
2018/08/23(木) 23:07:37.52ID:nqcPx5oZ
自分の作ったプログラムをウェブで公開したいのですが、完全に独学のため、
リリース用のビルドをするにあたっての注意点がよくわかりません。

このウェブサイトにあるように、単純にリリースビルドすればそれでいいのでしょうか?
第5回 Windowsアプリケーションのデバッグ&リリース (5/5):連載簡単!Visual Studio .NET入門 - @IT
http://www.atmarkit.co.jp/ait/articles/0410/13/news100_5.html

また、リリースビルドした場合、デバッグ不足で予期しないエラーが発生した場合、何行目にエラーがあるとかそういう表示って出てこなくなるのですか?
2018/08/23(木) 23:19:35.02ID:S0ZPdzES
>>132
回転はどうするのwってのは置いておくとして超簡単って書くのなら方法示したほうがいいと思う
>>133
公開するのならビルドした.Netのバージョンを必ず明記すること
.Net以外の外部DLL等参照している場合はそれも書くこと
>何行目にエラーがあるとかそういう表示って出てこなくなるのですか?
はい
2018/08/23(木) 23:24:55.20ID:AuVZlFM/
>>134
PDBの設定によるやろ…
2018/08/23(木) 23:55:38.28ID:OU0cRkrI
>>133
pdbファイルも一緒に配布すればrelease版でも例外発生箇所を表示できる
2018/08/23(木) 23:57:41.73ID:AuVZlFM/
>>136
リリースビルド時のフルパスがPDBに含まれないようにするのってどうやるんだっけ?
2018/08/24(金) 00:17:32.21ID:uCffaOwh
>>137
[ビルド]-[出力]-[詳細設定]-[デバッグ情報]を「なし」に設定
2018/08/24(金) 07:41:58.39ID:uu5lHyZK
フォーマット指定の方法なんだけど
("id:{0}",変数)みたい0とかのインデックス指定なしに
記載する方法ってなかったっけ?

こんな感じ
("id:{}",変数)
あったような気がするのだが見つからない
2018/08/24(金) 08:05:28.79ID:1zvoR5Nf
>>139
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/tokens/interpolated
2018/08/24(金) 08:16:29.54ID:srP6ovAZ
>>139
文字列補完?
$"Id:{変数}"
2018/08/24(金) 12:23:14.01ID:fKyaBZGN
計算処理クラスは自動テスト実現のため一時変数以外のインスタンスを持たせない

という方針を聞いたんですけどC#に例えるとどういう事ですか?

独り派遣で聞く人もおらず困っています
2018/08/24(金) 12:53:09.08ID:ucGkXF3f
なぜその方針を作った側の人に直接聞かないの
理解せずに間違ったことやったら最終的に叱られるのは君じゃないの?w

こういう人が2chで「コミュニケーションスキルガー」とか被害妄想全開で吠えてるんだろうなあ
2018/08/24(金) 12:54:55.58ID:/eex7TkL
2chとかいつの時代だよ
2018/08/24(金) 13:47:23.02ID:7bl9vxOR
未来から来てる可能性だってあるじゃないか
2018/08/24(金) 16:00:43.60ID:ILYVISJ2
状態を持たせずに純粋関数にした方が
バグが減って保守やテストがしやすいってことじゃろ

Mathクラスみたいに
2018/08/24(金) 16:28:08.95ID:cHge5Sdm
メソッドを全部staticにしたらいいんじゃね
もちろんstaticな変数は持たない
utilクラスみたいなもんだと思えば
2018/08/24(金) 16:41:00.57ID:qtcVVPQQ
それやるならstatic classってのがc#にはあったような
2018/08/24(金) 17:06:07.87ID:7htaPF/P
メソッドやクラスをstaticにしたところで他のクラスのインスタンスへの依存は防げないだろ
計算処理クラスなんてものが生み出されるようなレベルの現場だと、
ヘタにstatic強制なんかしたらstaticフィールドに状態持たせるバカが増えて余計に酷い状況になりそう
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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