Thanks a lot!!! On Tue, Mar 9, 2010 at 10:46 AM, Arsalan Tamiz <[email protected]> wrote:
> You should first need to now "why" then you should go to "how" > > "Why" we need this? i.e. creating a class which cannot be instantiated by > the end user but can be instantiated by some other class > ----- > As Jamie described in its earlier post there are scenarios where we require > this type of functionality that some class must NOT be initialized by the > end user of our class. For example in this scenario that creating a DataRow > in "air" does NOT make any sense because columns are necessary parameter. > Which are obviously part of DataTable class. Thats why DataTable actually > initializes the DataRow supplying the necessary parameters defined in > DataTable. > > "How" we can achieve this? > ------ > This can be achieved by defining the class constructor with access > modifier "internal" for C# or "Friend" for VB. In this way this constructor > can only be called by the same assembly's classes. The external assembly > cannot access it. > > On Mon, Mar 8, 2010 at 11:10 PM, crazy <[email protected]> wrote: > >> ok.. then how can i create a class which will not allow to create >> objects itself and another class allowing it to create object. >> If possible,I would like to know the class architeture using in .net >> behind this concept... >> ( I am doing some R&D in .Net class architecture) >> >> Thanks >> Vipin >> >> On Mon, Mar 8, 2010 at 3:04 PM, Jamie Fraser <[email protected]>wrote: >> >>> Think of the DataTable in this case as being a pseudo-factory that is >>> responsible for creating DataRows. >>> >>> In a semantic sense, a datarow MUST have an associated table (to begin >>> with) - a row cannot exist without a table. >>> >>> >>> On Fri, Mar 5, 2010 at 9:00 PM, crazy <[email protected]> wrote: >>> >>>> hi All, >>>> >>>> DataTable oDT=new DataTable(); >>>> >>>> DataRowoDR=null; >>>> >>>> Case 1: >>>> oDR=new DataRow() ; >>>> >>>> Case 2: >>>> oDR=new oDT.DataRow(); >>>> >>>> >>>> why Case 1 showing error? >>>> .Net doesnt allowing to create a object to that DataRow() class.But it >>>> allowing DataTable to create a object to DataRow(). >>>> If so , what type of class is DataRow()? >>>> >>>> One scenario is there, if DataRow() class contains only private >>>> Constructor s and it contains a public static method which will create a >>>> new >>>> row . But in Datarow ,using Wincv I have checked available public methods , >>>> but i cant able to find such a public static method in DataRow(). >>>> >>>> Then what type of architecture using in DataRow() ? >>>> >>>> >>>> >>>> >>>> -- >>>> "People who never make mistakes, never do anything." >>>> >>>> dEv >>>> >>> >>> >> >> >> -- >> "People who never make mistakes, never do anything." >> >> dEv >> > > -- "People who never make mistakes, never do anything." dEv
