じゃんぬねっと日誌

ネタと雑記と時々プログラミング

目次

Blog 利用状況

ニュース

不況すぎる件。

スポンサードリンク

運営サイト

  • C# と VB.NET の入門サイト

書庫

Coding Horror 03

コーディング ホラーというよりは、バグです。
これまた、VB.NET で発見したんですよね。(;_ _)

VB.NET (コーディング ホラー)

    Dim alWatasu As New System.Collections.ArrayList()
    Dim alHozon  As New System.Collections.ArrayList()

    '        :
    '        :
    ' 格納するような処理
    '        :
    '        :

    ' 変更前のデータを保持するためにコピーする
    alHozon = alWatasu

    ' 渡して編集画面へ
    frmEdit.OpenWindow(alWatasu)
     〃∩ ∧_∧  ハイ ハイ
   ⊂⌒ (  ・ω・)   ワロス ワロス
     `ヽ_っ⌒/⌒c
        ⌒ ⌒

コーディング ホラー記事へのリンク

投稿日時 : 2006年3月10日 11:37

コメントを追加

# re: Coding Horror 03 2006/03/10 11:41 囚人

わはは!

# re: Coding Horror 03 2006/03/10 11:51 じゃんぬねっと

テストが通ったことが信じられない。

1. 変更前のデータでコピーされません

 ・参照型を理解していない
 ・ICloneable とか Clone など知らない

2. 変更を破棄する方法としてそもそも不適切

 ・編集フォームで破棄すれば良い
 ・まさか、alWatasu を直接編集してる? (してたー)

3. alHozon をインスタンス化する必要はない

 ・インスタンスが何たるかをわかっていない
 ・とりあえず、クラスはインスタンス化すれば良いと思っている
 ・変数宣言を先頭に並べなきゃいけない理由はない

4. そもそも、何故 ArrayList で渡す必要があるのか

 ・何番目にどの型のどのメンバが入っているの?

5. 命名

# re: Coding Horror 03 2006/03/10 15:21 επιστημη

え? コレのドコがアカンのです? とか思っちゃうですC++屋は。

# re: Coding Horror 03 2006/03/10 15:56 名無しぃシャープ

はいはいわろすわろす。

Dim alWatasu As New System.Collections.ArrayList()
'    :
'    :
' 格納するような処理
'    :
'    :

' 変更前のデータを保持するためにコピーする
Dim alHozon As System.Collections.ArrayList = DirectCast(alWatasu.Clone(), System.Collections.ArrayList)

' 渡して編集画面へ
Using frmEdit As New FormEdit()
  frmEdit.OpenWindow(alWatasu)
End Using

# re: Coding Horror 03 2006/03/10 16:02 じゃんぬ

ttp://www.codinghorror.com/

# re: Coding Horror 03 2006/03/17 18:14 特攻隊長まるるう

[VB.NET]
Module のファイルにクラス名と同じような名前を付けてるプログラムが
あって、ソリューションエクスプローラでアイコンが同じだから、何の
迷いも無く、子供のクラスを追加して、コレクションに子供クラスを
どんどん格納していったら、ちゃんと New() してるのに1個変えたら
全部変わるんだわ。…いやぁ、びっくりした...( _)_

タイトル  
名前  
URL
コメント