[ kooole @ 14.04.2007. 21:40 ] @
Danas sam pokusao da napisem svoj prvi "hello" program u C# i odmah problemi. Procitao sam dosta toga o namespace-ovima i mislio sam da mi je jasno, ali kad sam poceo da radim vidim da to ne ide onako kako sam zamislio. Probacu da pojednostavim...

sadrzaj fajla Class1.cs je sledeci:

Code:

using System;

/// <summary>
/// Summary description for Class1
/// </summary>

namespace NekiNamespace
{
    public class Class1
    {
        public Class1()
        {
            //
            // TODO: Add constructor logic here
            //
        }

        public static string getText()
        {
            return "evo tekst";
        }
    }
}



Sadrzaj fajla Form1.cs je sledeci:

Code:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using NekiNamespace;

namespace WindowsApplication3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            button1.Text = Class1.getText();
        }
    }
}


Naravno, ovaj kod ne radi nista korisno, ali ono sto me zanima je zasto dobijam sledecu gresku:

Code:

Error    1    The type or namespace name 'NekiNamespace' could not be found (are you missing a using directive or an assembly reference?)    


Znam... banalno do kraja... ali ovo mi je prvi pokusaj da napisem neko parcence koda u C#, zelim samo da iz jedne klase pozovem staticku (ili bilo kakvu, svejedno) metodu druge klase koja se nalazi u drugom fajlu (i namespaceu).


I jos jedna stvar me zanima, kako mogu da "modularizujem" sadrzaj jednog namespace u vise fajlova? Npr. u ovom gore primeru da klase ostanu u razlicitim fajlovima, a da budu u istom namespaceu? Predpostavljam da ce iz odgovora na prvo pitanje automatski slediti i odgovor na drugo.
[ maksvel @ 14.04.2007. 22:08 ] @
Pa, pošto si stavio using, fali referenca ;) Ostali uključeni namespace-ovi (System, System.Drawing...) su u stvari asembliji. Iskompajliraš NekiNamespace i ubaciš mu referencu u drugi program i trebalo bi da radi...
[ kooole @ 15.04.2007. 10:53 ] @
Hvala.