C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 >>
■63702  Re[2]: C++/CLI Stopwatchについて
□投稿者/ 774RR -(2012/09/28(Fri) 12:57:52)
    質問文だけからではよくわからんけど
    void func1() {
      System::Diagnostics::Stopwatch sw;
    }
    は、俺のところではコンパイル通る (VS2005) ので、これすら通らないのであれば環境側の原因
    
    void func2() {
      static System::Diagnostics::Stopwatch sw;
    }
    としてしまうと、これは C3145 になる(仕様どおり)
    
    void func3() {
      Stopwatch sw;
    }
    と書きたいのであれば using namespace System::Diagnostics; は必須。
    グローバルスコープに書くか func3() { .. } のカッコ内に書くかは別問題。
記事No.63694 のレス /過去ログ107より / 関連記事表示
削除チェック/

■69435  Re[2]: コピーしたreportが参照するデータソースの変更する方法
□投稿者/ kaina -(2013/12/26(Thu) 17:23:12)
    No69429 (しま さん) に返信

    しまさん、返信ありがとうございます。

    >ひねくれ者なので、「お世話したことなどないのになー」と思ってしまう私がいます。
    会社のメールの癖が出てしまいました(-_-;)

    >CrystalReports についての質問なので、 CrystalReports のバージョンぐらいは書きましょうね。
    失礼、肝心の部分について抜けていました。

    当方の環境にて返信いただいた内容を確認した所、無事変更することが出来ました。
    単純な改修なので工数をかけたくないと思っていたので助かりました。
    また何かありましたら、宜しくお願いします。
記事No.69427 のレス / END /過去ログ118より / 関連記事表示
削除チェック/

■88046  Vb.netで作成したdllをc#で利用
□投稿者/ ホノカ -(2018/07/30(Mon) 20:41:37)

    分類:[.NET 全般] 

    はじめまして。
    Vb.netで作成したdllをVb.netで利用することはできます。
    ですが、Vb.netで作成したdllをc#で利用できません。
    Vb.netで作成したdllをc#で利用する方法をご存知でしたら教えていただけないでしょうか。

    プログラミング初心者です。
    環境は、visual studio 2017 express,32bit windows proです。
    よろしくお願いします。
親記事 /過去ログ151より / 関連記事表示
削除チェック/

■88047  Re[1]: Vb.netで作成したdllをc#で利用
□投稿者/ 魔界の仮面弁士 -(2018/07/30(Mon) 21:02:08)
    No88046 (ホノカ さん) に返信
    > Vb.netで作成したdllをVb.netで利用することはできます。
    > ですが、Vb.netで作成したdllをc#で利用できません。
    具体的に、どのような操作をした時に、どのような状態になるのかを教えてください。
    何らかのエラーが出るようなら、そのエラー内容を正確に記載願います。

    また、参照設定が正しく行われているかも確認してください。
    VB で作成した DLL を DllImport 属性を通じて呼び出そうとしているわけでは無いのですよね?


    VB.NET でコンパイルしたものは、特別な指定が無い限り、Microsoft.VisualBasic.dll への参照を
    必要としますが、そのことが問題になることは少ないはずですし…。


    > Vb.netで作成したdllをc#で利用する方法をご存知でしたら教えていただけないでしょうか。
    C# 製 DLL を VB から参照設定して利用することは可能ですし、
    VB 製 DLL を C# から参照設定して利用することも可能です。


    文法的な差異の違いにより、「C# からは利用できるが、VB だと利用できないクラス」や
    「VB だと利用できるが、C# からは利用できないクラス」を作ることもできなくはないですが、
    そういう状況に陥るのは稀だと思いますし。

    ※ ちなみに「c#」ではなく、「C#」が正式名称です。
記事No.88046 のレス /過去ログ151より / 関連記事表示
削除チェック/

■88074  Re[2]: Vb.netで作成したdllをc#で利用
□投稿者/ ホノカ -(2018/07/31(Tue) 23:07:39)
     返答、ありがとうございます。C#なのですね。
    詳しく記載します。

    ----------------------------------------------------------------------------------
    新規でC#のFormを作成する。→
    ソリューションエクスプローラーから追加→新しいプロジェクト
    →Visual Basic→クラスライブラリ→ClassLibrary1を名前にする→OK→
    ClassLibrary1のClass1.vbを以下にする。


    ここから
    Public Class Class1
    Public Function f(ByVal a1 As Integer) As String
    Return (a1 + 100)
    End Function
    End Class
    ここまで


    ClassLibrary1をビルドし、ClassLibrary1.dllを作成する。→
    ソリューションエクスプローラーからC#のプロジェクトを参照を選択→
    参照の追加→ClassLibrary1.dllを追加→OK→
    ソリューションエクスプローラーからC#のプロジェクトを参照を選択→
    参照の追加→Microsoft.VisualBasic.dllを追加→OK→
    C#のProgram.csを以下にした後ビルドする。

    ここから
    using System;
    namespace test01
    {
    static class Program
    {
    [STAThread]
    static void Main()
    {
    object Test02 = new ClassLibrary1.Class1();

    Console.WriteLine(Test02);
    Console.WriteLine(Test02.f(1));
    }
    }
    }
    ここまで
    ----------------------------------------------------------------------------------

    ----------------------------------------------------------------------------------
    エラーメッセージ
    'object' に 'f' の定義が含まれておらず、型 'object' の最初の引数を受け付ける拡張
    メソッド 'f' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が
    不足していないことを確認してください。
    ----------------------------------------------------------------------------------


    Console.WriteLine(Test02.f(1));に対して、エラーが発生します。
    Test02.を入力した後、インテリセンスで
    fを選びたいのですが、インテリセンスにはfがありません。
記事No.88046 のレス /過去ログ151より / 関連記事表示
削除チェック/

■88075  Re[3]: Vb.netで作成したdllをc#で利用
□投稿者/ せば -(2018/08/01(Wed) 11:53:18)
    > object Test02 = new ClassLibrary1.Class1();
    objectになってますね。

    ClassLibrary1.Class1 Test02 = new ClassLibrary1.Class1();
    で通るんじゃないかな
記事No.88046 のレス /過去ログ151より / 関連記事表示
削除チェック/

■88085  Re[3]: Vb.netで作成したdllをc#で利用
□投稿者/ Azulean -(2018/08/01(Wed) 22:00:19)
    No88074 (ホノカ さん) に返信
    > object Test02 = new ClassLibrary1.Class1();

    すでに指摘がありますが、C# は型を厳密にチェックする方の言語です。
    ですので、object という型には f というメソッドがないのでエラーになります。

    new するときに左側にも型を書きたくないということであれば、object の代わりに var と書いてください。
    コンパイル時に右辺から推定されます。

    VB.NET みたいに実行時までわからないを希望するなら dynamic キーワードもありますが、お勧めしません。
    コンパイル時にエラーがわかった方がトータルの開発の労力も低いためです。
記事No.88046 のレス /過去ログ151より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -