Also be aware that you can construct an array of already existing items
like:

If you have a method that looks like:

void MyMethod(MyClass[] aMyClass);

You could call it like:

MyMethod(new MyClass[] { someClass, someOtherClass });

I do this all the time without having to create a local variable.


Thanks,

Shawn Wildermuth
[EMAIL PROTECTED] 

> -----Original Message-----
> From: dotnet discussion [mailto:[EMAIL PROTECTED]] 
> On Behalf Of György Bozóki
> Sent: Saturday, May 18, 2002 4:10 PM
> To: [EMAIL PROTECTED]
> Subject: Re: [DOTNET] How to initialize object arrays in C#?
> 
> 
> Scott,
> 
> Thanks a lot, it's working; I haven't tried this one before.
> 
> Thanks again,
> Gyorgy Bozoki
> 
> -----Original Message-----
> From: dotnet discussion [mailto:[EMAIL PROTECTED]]On 
> Behalf Of Scott Densmore
> Sent: Saturday, May 18, 2002 15:03
> To: [EMAIL PROTECTED]
> Subject: Re: How to initialize object arrays in C#?
> 
> 
> M_oMyobjs = new CMyClass[] {
>                                         new CMyClass ( lvP1 ),
>                                         new CMyClass ( lvP2 )
>                                 };
> 
> scott
> 
> -----Original Message-----
> From: dotnet discussion [mailto:[EMAIL PROTECTED]] 
> On Behalf Of György Bozóki
> Sent: Saturday, May 18, 2002 2:53 PM
> To: [EMAIL PROTECTED]
> Subject: Re: [DOTNET] How to initialize object arrays in C#?
> 
> 
> Bill,
> 
> Thanks for your reply; I've tried this syntax and 
> unfortunately it is not working w/ classes. (It is fine to 
> declare integer arrays), but since I want to pass a listview 
> reference, I get an error saying that there is no way to 
> convert a ListView to CMyClass.
> 
> Right now this is what I do:
> 
>    m_oMyObjs = new CMyClass[2]; // create array of objects
>    m_oMyObjs[0] = new CMyClass ( lvP1 );
>    m_oMyObjs[1] = new CMyClass ( lvP2 );
> 
> This is not the solution I'm looking for but as I'm also 
> leaning C#, this will work for now.
> 
> Thanks again,
> Gyorgy
> 
> -----Original Message-----
> From: dotnet discussion [mailto:[EMAIL PROTECTED]]On 
> Behalf Of Bill Schmidt
> Sent: Saturday, May 18, 2002 14:43
> To: [EMAIL PROTECTED]
> Subject: Re: How to initialize object arrays in C#?
> 
> 
> Gyorgy,
> 
> I'm new to C#, but I believe that the proper syntax is:
>     m_oMyObjs = new CMyClass[] {lvP1, lvP2};
> just as for an array of int or char.  This syntax uses the 
> single-parameter constructor that you included in your 
> example class definition.  The number of elements in the 
> array is determined by the number of elements in the 
> initialization list.
> 
> Bill
> 
> On Sat, 18 May 2002 13:35:02 -0500, =?iso-8859-1?Q?Gy=F6rgy_Boz=F3ki?=
> <[EMAIL PROTECTED]> wrote:
> 
> >Hi guys,
> >
> >Here is what I'd like to do (in C#):
> >
> >I have a class CMyClass, it looks like this:
> >
> > public class CMyClass
> >  {
> >    #region Private members
> >    private ListView m_lvP; // listview associated w/ the class
> >    private ColumnHeader m_chA; // column header
> >    private ColumnHeader m_chB; // column header
> >    private ColumnHeader m_chC; // column header
> >    #endregion
> >
> >    #region Public members
> >    /// <summary>
> >    /// Constructor
> >    /// </summary>
> >    public CPanel ( ListView lvP )
> >     {
> >       if ( lvP != null ) // the listview reference cannot be NULL
> >        {
> >         m_lvP = lvP;
> >
> >         m_chName = new ColumnHeader ();
> >         m_chSize = new ColumnHeader ();
> >         m_chDate = new ColumnHeader ();
> >
> >         /// ...
> >        }
> >     }
> >    #endregion
> >  }
> >
> >In a form, I want to have two instances of this class, as a 
> two-element
> array of
> >CMyClass type, so I make a declaration:
> >
> >public class frmMain : System.Windows.Forms.Form
> > {
> >  private CMyClass[] m_oMyObjs;
> >  private System.Windows.Forms.ListView lvP1; // this 
> listview should 
> >be associated w/ m_oMyObjs
> >
> >  public frmMain ()
> >   {
> >    /// ...
> >    m_oMyObjs = new CMyClass[2]; // how to make the
> declaration/initialization
> >to be able to pass the listview?
> >   }
> > }
> >
> >
> >So, how can I pass the listview (which is initialized 
> correctly) to the
> class
> >through the constructor when declaring an array? If 
> possible, I'd like 
> >to
> avoid
> >having a get/set property for passing the listview, since it cannot 
> >change
> after
> >the CMyClass object is created and there is no need to 
> access it in any
> way. I'm
> >not able to figure out the correct syntax (if it is possible) to do 
> >this.
> >
> >Thanks for the help,
> >Gyorgy Bozoki
> >
> >You can read messages from the DOTNET archive, unsubscribe 
> from DOTNET,
> 
> >or subscribe to other DevelopMentor lists at 
> >http://discuss.develop.com.
> 
> You can read messages from the DOTNET archive, unsubscribe 
> from DOTNET, or subscribe to other DevelopMentor lists at 
> http://discuss.develop.com.
> 
> You can read messages from the 
> DOTNET archive, unsubscribe from DOTNET, or subscribe to 
> other DevelopMentor lists at http://discuss.develop.com.
> 
> You can read messages from the DOTNET archive, unsubscribe 
> from DOTNET, or subscribe to other DevelopMentor lists at 
> http://discuss.develop.com.
> 
> You can read messages from the 
> DOTNET archive, unsubscribe from DOTNET, or subscribe to 
> other DevelopMentor lists at http://discuss.develop.com.
> 

You can read messages from the DOTNET archive, unsubscribe from DOTNET, or
subscribe to other DevelopMentor lists at http://discuss.develop.com.

Reply via email to