Stack Builder
От: Олег Гашев
Дата: 04.05.03 17:04
Оценка:
<html>
<HEAD>
<TITLE>Stack Builder</TITLE>
</HEAD>

<BODY>


<?
if (isset($btnEnter))
{
    echo"<font face=\"Courier New\" size=2><font color=blue>using</font> System;<br>
         <font color=blue>using</font> System.Collections;<br>
         <br>
         <font color=blue>namespace</font> $Namespace<br>
        {<br>
            &nbsp;&nbsp;&nbsp;<font color=green>//$Class.cs</font><br>
            &nbsp;&nbsp;&nbsp;<font color=blue>public class</font> $Class<br>
            &nbsp;&nbsp;&nbsp;{<br>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=blue>private</font> Stack stack;<br>
                <br>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=blue>public</font> $Class()<br>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>
                    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stack = <font color=blue>new</font> Stack();<br>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
                <br>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=blue>public void</font> Push($Item item)<br>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>
                    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stack.Push(item);<br>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
                <br>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=blue>public</font> $Item Pop()<br>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>
                    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=blue>return</font> (($Item)(stack.Pop()));<br>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
                <br>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=blue>public bool</font> Contains($Item item)<br>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>
                    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=blue>return</font> stack.Contains(item);<br>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
                <br>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=blue>public int</font> Count<br>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>
                    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=blue>get</font> { <font color=blue>return</font> stack.Count; }<br>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
                <br>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=blue>public</font> IEnumerator GetEnumerator()<br>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>
                    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=blue>return</font> stack.GetEnumerator();<br>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
                <br>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=green>// Add other type-safe methods here<br>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// ...<br>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// ...<br></font>
            &nbsp;&nbsp;&nbsp;}<br>        
        }
        <br><br><a href=\"stackbuilder.php\">Build new Stack</a></font>";

}
else
{
    ?>
    <div align=center><CENTER>
<table height=100%>
<tr><td valign=middle>
<form method=post action=stackbuilder.php>
<table border=0 cellpadding=1 cellspacing=0   width=300 bgcolor=black>
<tr>
        <td>
<table border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="white">
    <tr>
        <td bgcolor="#285888" align=center><table><tr><td><font face=Verdana size=2 color=white><b>Stack Builder</b></font></td></tr></table></td>
    </tr>

    <tr>
        <td>
        <table width=100%><tr><td width=100%>
        <font face=Verdana size=2>Namespace:<br></font><input name="Namespace" type="text"     style="width:100%" /></td></tr>
        <tr><td>
        <font face=Verdana size=2>Class:<br></font><input name="Class" type="text"    style="width:100%" /></td></tr>
        <tr><td>
        <font face=Verdana size=2>Item:<br></font><input name="Item" type="text"    style="width:100%" /></td></tr>
        
        <tr><td align=center>
        <input type="submit" name="btnEnter" value="Build" id="btnEnter"></td>

    </tr>
</table></table></table></form></table></center></div>
<?
}    
?>
</BODY>
</HTML>


Пример использования:
Namespace: Customers
Class: CustomerStack
Item: Customer

Результат:


using System;
using System.Collections;

namespace Customers
{
   //CustomerStack.cs
   public class CustomerStack
   {
      private Stack stack;

      public CustomerStack()
      {
         stack = new Stack();
      }

      public void Push(Customer item)
      {
         stack.Push(item);
      }

      public Customer Pop()
      {
         return ((Customer)(stack.Pop()));
      }

      public bool Contains(Customer item)
      {
         return stack.Contains(item);
      }

      public int Count
      {
         get { return stack.Count; }
      }

      public IEnumerator GetEnumerator()
      {
         return stack.GetEnumerator();
      }

      // Add other type-safe methods here
      // ...
      // ...
   }
}


Online generation лежит на http://gashev.com/stackbuilder.php.
Либо я найду путь, либо проложу его. © Свифт
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.