Archief - [PROG][C#] Vraag over het opnemen van argumenten in functies

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

IceSkull[BE]

Legacy Member
Wanneer ik volgende code wil compilen, krijg ik deze fout:
"Error 1 An object reference is required for the nonstatic field, method, or property 'test_function.maths.add(float, float)' C:\Documents and Settings\Coudyzer Gertjan\Mijn documenten\Visual Studio 2005\Projects\HelloWorld\HelloWorld\hello.cs 28 28 HelloWorld
"

code:

using System;
using System.Collections.Generic;
using System.Text;
using test_function;

namespace test_function
{
class maths
{
public
float add(float num1, float num2)
{return num1 + num2;}
float subtract(float num1, float num2)
{return num1 - num2;}
float multiply(float num1, float num2)
{return num1 * num2;}
};
}



namespace HelloWorld
{
class hello
{
static void Main()
{
float result = maths.add(5, 3);
Console.WriteLine("{0}", result);
string output = Console.ReadLine();

}

}


ben wel maar net begonne :)

Hale

Legacy Member
die methodes die je probeert op te roepen uit de math klasse zijn niet statische methodes, je moet die met andere woorden oproepen op een object van de klasse maths.

bv

maths mat = new maths();
Console.WriteLine("{0}", mat.add(3,4));

Kn0t

Legacy Member
Of wel maak je de methoden van de Maths klasse static,
of wel moet je een instantie aanmaken van je maths klasse.

à la
Maths myMaths = new Maths();
float result = myMaths.add(5, 3);

Begin je klassenamen ook liefst met hoofdletters.

Don't shoot als the syntax niet klopt hé, ken geen c#

MilM

Legacy Member
Als je twee argumenten wilt behouden, dan moet je er een statische van maken.
Heeft geen zin om daar een object van te creeren.

Ofwel maak je er een gewone klasse van, met één argument en dat hij dat argument optelt bij het object waarop het opgeropen wordt.

killgore

Legacy Member
IceSkull[BE] zei:
Wanneer ik volgende code wil compilen, krijg ik deze fout:
"Error 1 An object reference is required for the nonstatic field, method, or property 'test_function.maths.add(float, float)' C:\Documents and Settings\Coudyzer Gertjan\Mijn documenten\Visual Studio 2005\Projects\HelloWorld\HelloWorld\hello.cs 28 28 HelloWorld
"

code:

...

ben wel maar net begonne :)
tip : er is een code tag hier :p:

Code:
using System;
using System.Collections.Generic;
using System.Text;
using test_function;

namespace test_function
{
    class Maths
    {
    public
        static float add(float num1, float num2)
            {return num1 + num2;}
        static float subtract(float num1, float num2)
            {return num1 - num2;}
        static float multiply(float num1, float num2)
            {return num1 * num2;}
    }
}



namespace HelloWorld
{
    class hello
    {
        static void Main()
        {
            float result = Maths.add(5, 3);
            Console.WriteLine("{0}", result);
            string output = Console.ReadLine();
        }
    }
}
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan