OSDN Git Service

Version 3.00
[vbslib/main.git] / _src / Test / vbsool_test / T_GetObject / objs / ClassA_obj.vbs
diff --git a/_src/Test/vbsool_test/T_GetObject/objs/ClassA_obj.vbs b/_src/Test/vbsool_test/T_GetObject/objs/ClassA_obj.vbs
new file mode 100644 (file)
index 0000000..1a62931
--- /dev/null
@@ -0,0 +1,46 @@
+Option Explicit \r
+\r
+Dim  g_SrcPath\r
+\r
+Class  ClassA_vbs : Public FullPath : End Class\r
+Dim  g_ClassA_vbs\r
+Set  g_ClassA_vbs =_\r
+   new ClassA_vbs\r
+With g_ClassA_vbs\r
+  .FullPath = g_SrcPath\r
+End With\r
+\r
+\r
+Sub  get_StaticObjects( InterfaceName, out_Obj )\r
+  If IsEmpty( InterfaceName ) or  InterfaceName = "ClassI" Then\r
+    Set  out_Obj = get_ClassA()\r
+  End If\r
+End Sub\r
+\r
+\r
+'-------------------------------------------------------------------------\r
+' ### <<<< [ClassA] Class >>>>\r
+'-------------------------------------------------------------------------\r
+Dim  g_ClassA\r
+\r
+Function    get_ClassA()  '// has_interface_of ClassI\r
+  If IsEmpty( g_ClassA ) Then _\r
+    Set g_ClassA = new ClassA\r
+  Set get_ClassA =   g_ClassA\r
+End Function\r
+\r
+\r
+Class ClassA  '// has_interface_of ClassI\r
+  Public  Property Get  Name()     : Name     = TypeName(Me) : End Property\r
+  Public  Property Get  TrueName() : TrueName = TypeName(Me) : End Property\r
+  Public Sub  Validate() : End Sub\r
+  '--- Name is factory pattern.\r
+\r
+  Public Property Get  DefineInfo() : Set DefineInfo = g_ClassA_vbs : End Property\r
+\r
+  Public  Value\r
+  Public Function  Method1() : Method1 = "ClassA.Method1" : End Function\r
+End Class\r
+\r
+\r
\r