最近、ASP/VBScriptコードを整理しましたが、ASPが過去にMVCフレームワークを実装していることが半仕上げの製品であり、効率も問題であることがわかりました。しかし、私はそれに書いたいくつかのコードがあることがわかりました、そして、私はそれを人々に会うためにそれを取り出すことができると感じたので、私はそれを録音するために今日この記事を書きました。
ASPと言われていますが、VBScriptとは何の関係もありません。 VBScript言語はVisual Basicから継承されます。 VBの構文の柔軟性は、もはや満足のいくものではありません。サブセットとして、VBSは想像できます。 Microsoftは、.NETでShenma ReflectionやIntrospectionなどの高度な技術を導入しています。放棄されたテクノロジーとして、マイクロソフトがサポートを提供できるという期待はないため、頑固で保守的なプログラマーは、いくつかの同様の機能を模倣して実装するために脳を詰め込むことしかできません。
まあ、私は長い間、私は頑固で保守的な学校の1つであったことを認めています。今日、私は機能の1つを導入し、プロパティオブジェクトを動的に作成します。属性オブジェクトはこれと呼ばれます。つまり、作成されたオブジェクトは動的にプロパティ(プロパティ)のみを含むだけです。
実装コードは、参照のために以下に掲載されています。
コードコピーは次のとおりです。
'
'ASP/VBScriptダイナミックオブジェクトジェネレーター
著者:Wangye
'詳細については、ご覧ください
'
'このコードは、BSDライセンスの下で配布されています
'
const property_access_readonly = 1
const property_access_writeonly = -1
const property_access_all = 0
クラスDynamicObject
プライベートM_OBJProperties
プライベートM_STRNAME
private sub class_initialize()
m_objproperties = createObject( "scripting.dictionary")を設定します
M_STRNAME = "anonymousObject"
End Sub
private sub class_terminate()
ISObject(M_OBJProperties)ではない場合
M_OBJPROPERTIES.REMOVEALL
ifを終了します
m_objproperties = Nothingを設定します
End Sub
public sub setClassName(strname)
m_strname = strname
End Sub
パブリックサブ追加(キー、値、アクセス)
m_objproperties.add key、array(value、access)
End Sub
パブリックサブセットバリュー(キー、値、アクセス)
m_objproperties.exists(key)の場合
m_objproperties.item(key)(0)= value
m_objproperties.item(key)(1)=アクセス
それ以外
キー、値、アクセスを追加します
ifを終了します
End Sub
プライベート機能getReadOnllycode(strkey)
dim strprivatename、strpublicgetname