質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

2回答

424閲覧

ファイルを分けて書きたい

NoBeVo

総合スコア12

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2019/11/09 10:23

こんにちは

C#でファイルを分割して開発したいとき以下のような疑問があります。


  1. どうやって別ファイルを読み込むのか
  2. コンパイル時はどう書けば良いのか

 


1については "using namespace" をつかって呼び出すのでしょうか?その場合違うディレクトリなどに読み込みたいファイルがある場合どのようにパスを書けば良いでしょうか。

/*例えばこんなファイルパス*/ // S.cs内で "SampleFolder/A.cs" をインポートしたい。 ____ S.cs |__ SampleFolder |__ A.cs

C#

1 2// C++なら import "SampleFolder/A.cs" なんだけど... 3// そのままクラスだけ書いても読み込めるの??ファイルパスとかは?? 4using A 5 6class S 7{ 8...

 



2についてはCMDでcsc.exeを使ってコンパイルするとき、呼び出すファイルが複数ある場合、どうコンパイルすれば良いですか。

/*例えばこんなファイルパス*/ // S.csとA.csを合わせてビルドしたい ____ S.cs |__ SampleFolder |__ A.cs

CMD

1// これだとS.csしかコンパイルされないのでは?A.csは? 2C:¥Users...¥CurrentFolder> C:¥Windows¥Microsoft.Net¥...csc.exe S.cs

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2019/11/09 10:27

Unity は無関係という前提ですか?
NoBeVo

2019/11/09 10:34

今回は無関係での回答をお願いします。 Unityを使った場合はオブジェクト経由でしか他ファイルのクラスにアクセスできない情報しか見つけることができず、おそらくそれしかないのだろうと思います。 ミドルウェアに固執しない方法での回答を頂きたいです。
Zuishin

2019/11/09 10:36

Visual Studio が使えない理由がありますか?
NoBeVo

2019/11/09 10:38

使うことはできますが、それもIDEというミドルウェアに固執することになってしまいます。Windowsでしか開発できないC#ではありますが、開発環境の幅を持たせたいのでやはり固執せず純粋なコンパイラ(csc.exe)のみに頼る形でお願いします。
Zuishin

2019/11/09 10:46

.NET Core が対象であれば Linux や Mac でも開発できます。 GUI は Xamarin になりますが。
guest

回答2

0

自己解決

コンパイルオプションに指定ファイルを追加することで実現できました。
さらに調べてみるとcmakeのc#版もOSSであるみたいです。

また、コンパイラディレクトリの環境変数も設定しておくとgccみたいにcscだけで呼び出せるので楽です。

投稿2019/11/09 11:07

編集2019/11/09 11:33
NoBeVo

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

プロジェクトを作成してください。それですべて解決します。

Visual Studio を使うもしくは dotnet コマンドを使うならテンプレートを使って簡単に作成できます。そうでない場合は目的に合わせて自分で作らなければいけません。

dotnet コマンドを使う場合、.NET Core のみになりますので、.NET Framework を使いたいなら Visual Studio がいいでしょう。どちらも使わないなら Guid を作成したり XML をいじったり頑張ってください。

投稿2019/11/09 10:42

Zuishin

総合スコア28656

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

NoBeVo

2019/11/09 10:57

回答ありがとうございます。 今し方、色々実験していたのですが、csc.exeで複数ファイルのコンパイルができました。 単純にコンパイル時の構文にコンパイルしたいファイル名を全て記述しただけなのですが、これでも良いのでしょうか?
Zuishin

2019/11/09 11:00

それで間に合うならそれでもいいですよ。いちいちコンパイルオプションを指定したりコンパイル済みのファイルを毎回コンパイルしたりしなければいけませんが。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問