- 締切済み
VBのクラスについて質問です。
VBのクラスについて質問です。 Dicitionaryに格納した値を取得するとき、下記の2つの方法があると思います。 (どちらの方法でも同じ値が取得されるかと思います。) (1)オブジェクト("xxx") (2)オブジェクト.Item("xxx") 本題ですが、独自のクラスに(1)のメソッドを実装するためにはどうすればよいでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- redfox63
- ベストアンサー率71% (1325/1856)
- tsukasa-12r
- ベストアンサー率65% (358/549)
関連するQ&A
- html内の値を取得
下記開発環境で開発を行っています。 VS2005 vb.net あるString型の変数に値が入っています。 その値は下記のようなhtmlです。 <html> ←ここから <head></head> <body> <div id='test1'> OK </div> </body></html> ←ここまで 実装したいことは <div id='test1'> で囲まれた”OK”という値を取得することです。 文字列をHtmlDocumentに格納するとGetAttributeメソッドで取得できるのらしいですが、 方法がわかりません。←すみません、表現がただしくないかもしれません。 どなたかご存知の方ご教授お願い致します。
- 締切済み
- Visual Basic
- VBは、コピペを繰り返して規定のオブジェクトをいじっていくもの?
VBは、コピペを繰り返して規定のオブジェクトをいじっていくもの? VBはクラスライブラリを、コピペを繰り返して規定のオブジェクトをいじっていくものですか? VBからフォームアプリケーションの作成を選ぶと、Form1というウィンドウが1つ生成されます。 これを規定のオブジェクトと呼んでいます。 その時点で、複数のオブジェクトがすでに存在しており、隠れて存在しています。 謎1)既に生成されている規定のオブジェクトはどうやって確認できる??? どんなオブジェクトが存在しているのか知りたい!!! オブジェクトに独自の値を持たせるには、インスタンス(実体化)して、 そのオブジェクトに値を入れていくのが、Visual Basicのプログラミング方法です。 どんな隠れオブジェクトが存在するかは、クラスライブラリを見て、使ってくれという感じです。 それでクラスライブラリには、(宣言)と(使用法)が載っていますが、 使うには、それに記載されているアセンブリのXXX.dllをimportsしてから、使用法のコードをコピペします。 ただ、(宣言)はなにに使うのか謎のままですが、 こうしてコピペを繰り返して規定のオブジェクトをいじっていく解釈で合っていますか? 謎2)クラスライブラリの宣言はいつコピペする??? ここでいう解釈は、Visual Studio 2005での開発としての解釈です。
- 締切済み
- Visual Basic
- VBのクラスの利用
VBの初心者ですが、FormにTextBoxとコマンドボタンを配置して、ボタンクリックでTextBoxに"ABC"と表示させるものをクラスを使ってやろうと思っています。WriteAクラスを作り、その中にkakikomiメソッドを作り、引数を(TextA AS TextBox)とし、メソッド内部でTextA.Text="ABC"としました。 コマンドボタンクリックメソッド内部で、 Dim obj As WriteA Set obj=New WriteA obj.kakikomi(Text1)//Text1はTextBoxのオブジェクト名 とすると、[引数の型が違う]でコンパイル出来ません。どうしたら良いのでしょうか?
- ベストアンサー
- Visual Basic
- 抽象クラスのオブジェクトを生成できない理由は?
・抽象クラスは、なぜ(オーバーライドしないと)オブジェクトを生成できないのでしょうか? ・インタフェースみたいに、抽象メソッドしか宣言することができないなら話は分かるのですが… ・抽象メソッドでない普通のメソッドを実装できるのなら、オブジェクトを生成してくれても良いと思うのですが… ・そういう問題ではない?
- ベストアンサー
- Java
- サブクラス型オブジェクトをスーパークラス方に代入
ある所で下記のような継承についての記述をみつけました。 ----------------------------------------------------------------------------- 継承の目的は、あるクラスで実装したメソッドなどの機能を利用して、 さらに実装を追加する差分コーディングです。 一つのクラスから複数のサブクラスを作ることも良くあります。 このような時、それらのサブクラス型オブジェクトの参照を代入できる変数として、 スーパークラス型変数を使うことがしばしばあります。 ----------------------------------------------------------------------------- サブクラス型オブジェクトの参照を代入できる変数として、 スーパークラス型変数を使うことがある、と いうのはどういった場合に使うのでしょうか。 よろしくお願いします。
- ベストアンサー
- Java
- VB6のコードをC#にしたい
C#はこちらでよかったでしょうか。。カテゴリ違いだったらすみません。 現在、VB6にて書かれているコードを、C#にて置き換える事になりました。 しかし私はまともなオブジェクト指向の言語で組むのも初めてなら、C系の言語で組むのも初めてで、そこでどうすればいいのか困っています。 VB6で sub aa(i as integer) dim obj as object call bb(obj,i) call obj.run() end sub sub bb(byref pobj as object,i as integer) select case i case 1: pobj = new obj1 case 2: pobj = new obj2 end select end sub といったようなコードがあります。obj1とobj2はVBのクラスなのですが、メソッドはどちらも同じrunというものが用意されているとします。 ようは引数の値によって、メソッドやプロパティの形は同じだけれど、メソッドの中身が違うクラスをもらって、そのもらったクラスのメソッドを実行したいわけです。 しかしC#でまったく等価のソースをかくと、当然ながらobjはただのobject形なので、そんなメソッドはないとおこられてしまいます。VB6の場合、そのあたりが厳密でないので許されていたのですが。。。 こういった場合、どのようにソースをかけばいいのでしょうか? やはりobj1,obj2のクラスの方に工夫しないといけないでしょうか? 実はこのオブジェクトを用意しているのが別チームの為、その場合こうしてくれと提案しなくてはなりません。もしそれがなくても可能であればそれにこした事はないのですが。。。 いちおうもらったクラスのタイプをしらべて、それごとにコードをかくという方法は思いついたのですが、それだとobj1、obj2にあたるクラス数が実は種類がたくさんあり、そこだけならまだしも、他にも同じようなコードをたくさんかかなくてはいけなくなってしまいます。 もう少しスマートにするにはどのようにすればいいでしょうか? こういうクラス構成にすれば、とか教えていただければ助かります。
- ベストアンサー
- C・C++・C#
- 実行時に確定するメソッドを呼び出す方法について
invoke()メソッドや、Methodクラスを 使用するなど。以前に小耳にはさんだ。記憶があります。 以下の3つの引数から 動的に該当メソッドを呼び出す。 処理を実装コードがすぐだせる方がいると 助かります。 Object foo(Object obj, String methodName, Collection param) (1)該当オブジェクト getClass()などで、該当クラスを動的に 特定。 (2)、(1)が保有しているメソッドのうち、 発行したいメソッドの名前 (3) parmには1要素ごとに2要素のObject[]型を を格納して、 Object[0]の要素にかんしてはが引数の型についての完全修飾クラス名をあらわすString型。 Object[1]については実際に入っている値。 上記3つの引数をうけとって内部で getClass()とかつかって 必要な情報はすべて実行時に動的に 取得して objの該当オブジェクトを 発行し、foo()メソッド自体の 返却値はそのメソッドの返却値とする という ロジックの実装のサンプルがあると。 とても、うれしいです。 じゃ、void型が返却の時どうすんねん。 とか、staticの時どうすんねん。 とか、その変のアイデア持ってる 人がいるととてもうれしい。 以上
- ベストアンサー
- Java
- クラスのスコープ範囲
再度お世話になります。 C++のクラスについての質問ですが、 別ファイル(別のDLL)に定義されているメンバ関数を利用したいのですが、 どのように外部宣言すればよろしいのでしょうか。 どうぞ宜しくお願いします。 例) A.dll あるクラス内に格納されている値を取得する為に、 Get_XXXというメンバ関数が定義されている。 B.dll こちらからその値をそのメンバ関数を利用して取得する。
- ベストアンサー
- C・C++・C#
- VB6構造体をVB2008クラスで行う場合
何方かの質問「VB6構造体をVB2008クラスで行う場合」 の回答プログラムにて参考とさせて頂きましたが 申し訳ありません、初心者しにて・・・・・教えてください。 値を「登録、参照部分」のクラス(抜粋) Public Class Program Public Shared Sub Main() (省略) End Sub End Class 上記部分なのですが (1)Sharedを使用する訳はなんでしょうか?(省いても問題ありませんか?) (2)登録、参照部分のクラスPublic Shared Sub Main()を「登録のメソッド」と「参照のメソッド」に 分けたいのですがどうしてもうまくいきません。 何方か御教授願えないでしょうか? よろしくお願いします。 「以下何方かの質問の回答プログラム」 ■クラス+コレクションクラス Public Class Group Public MainID As Integer Public SubID As Integer Public Value1 As Integer Public Value2 As Integer End Class Public Class GroupCollection : Inherits System.Collections.Generic.Dictionary(Of Integer, Group) Public Shadows Sub Add(ByVal Item As Group) MyBase.Add(Item.SubID, Item) End Sub End Class Public Class Program Public Shared Sub Main() Dim DataDict As New GroupCollection Dim NewGroup As New Group NewGroup.MainID = 1 NewGroup.SubID = 101 NewGroup.Value1 = 123 NewGroup.Value2 = 234 DataDict.Add(NewGroup) Console.WriteLine(DataDict.Item(101).Value2) ' 出力 234 End Sub End Class
- ベストアンサー
- Visual Basic
- VB初心者なのでわかりづらい説明になってしまっていますが、宜しくお願い
VB初心者なのでわかりづらい説明になってしまっていますが、宜しくお願いいたします。 ソリューションに含まれる全クラスのメソッド一覧を取得したいと考えています。 考えている処理は以下の通りです。 For i As Integer = 1 To プロジェクト数 For j As Integer = 1 To クラス数 ' クラスオブジェクトの取得 Dim typ As Type = GetType(プロジェクト名.クラス名) ※ ' クラスが持つメソッドの取得 Dim methods As MethodInfo() = typ.GetMethods() ' 出力処理 Next Next ソリューションの例 Solution ├Project1 │ ├Class1_1 │ └Class1_2 ├Project2 │ ├Class2_1 │ ├Class2_2 │ └Class2_3 └Project3 └Class3_1 ただ、ソリューションに含まれるプロジェクトの数、プロジェクトに含まれるクラスの数 の取得方法とプロジェクトに含まれているクラス名の取得方法がわかりません。 よろしければ、教えていただけないでしょうか。 また、他に良い方法があれば教えていただけないでしょうか。 宜しくお願いいたします。 環境はVB2008です。
- ベストアンサー
- Visual Basic
- 私は職場に片思いしている年上の男性と距離が縮まったと思っていたが、自分のアプローチがし過ぎたため素っ気なく接してしまった
- 男性は話しかけてきたり私の様子を伺っているように見えるが、二人きりを避けられているようにも感じる
- 私の素っ気ない態度が原因なのか、それとも男性が私からアプローチされることを避けているのか、皆さんの意見を聞きたい
お礼
ご回答ありがとうございます。 言葉足らずで申し訳ありません VB.NETではなく、VB6でのやり方を探しております。