Visual Basic 中学校 掲示板
投稿内容
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
>
投稿一覧
>
違うフォルダー内のファクションを使いたい。
タグの編集...
投稿者
ケンケン
 (社会人)   投稿日時
2021/12/1 16:56:36
AAAフォルダー内
AAAフォルダーにCommonFunctions.VBが有ります。
CommonFunctions.VB
上記のVBの中に
Shared Function GetMonthLastDay(inDateTime As DateTime) As Integer が存在します。
BBBフォルダー内
SET001.VB にて
GetMonthLastDayのファンクションを使用したのですが
宣言されてませんのエラーが表示されます。
※AAAフォルダー内のGetMonthLastDayをどの様に宣言知れば宜しいですか?
ご教授お願い致します。
投稿者
魔界の仮面弁士
 (社会人)   投稿日時
2021/12/1 18:36:48
ソースコードがどこのフォルダーに置かれているかは、プログラムの動作とは無関係です。
プロジェクト内で管理されているのであれば、物理パスはどににあっても構いません。
気に掛けるべきは名前空間の方です。
(この点は自作のメソッドであれ .NET Framework 標準のメソッドであれ同じこと)
名前空間という概念については、初級講座[改訂版]の 第5回~第7回 あたりを参照してみてください。
> CommonFunctions.VB
> 上記のVBの中に
> Shared Function GetMonthLastDay(inDateTime As DateTime) As Integer が存在します。
.vb ファイルの直下に、Shared Function や Funcrtion を置くことはできません。
その前に、Class / Module / Strucutre / Interface などがありますよね? 大事なのはそっち。
(Module や Interface だと Shared Function は置けないので、おそらく Class があったはず…)
投稿者
魔界の仮面弁士
 (社会人)   投稿日時
2021/12/1 18:52:00
> Shared Function GetMonthLastDay(inDateTime As DateTime) As Integer
GetMonthLastDay という名前から想像するに、中身はこのような実装ですかね?
Return
Date
.DaysInMonth(inDateTime.Year, inDateTime.Month)
たとえば、下記のように実装されている場合、他の場所からは
Dim n As Integer = Foo.Example.GetMonthLastDay(Now)
などのように、名前空間やクラス名を伴って呼び出せます。
Namespace
Foo
Public
Class
Example
Shared
Function
GetMonthLastDay(inDateTime
As
DateTime)
As
Integer
Namespace を付与していないなら、直接クラス名から指定すれば OK。
Dim n As Integer = Example.GetMonthLastDay(Now)
Public
Class
Example
Shared
Function
GetMonthLastDay(inDateTime
As
DateTime)
As
Integer
投稿者
ケンケン
 (社会人)   投稿日時
2021/12/2 09:58:01
色々と参考になります。
ありがとうございます。