

An object reference is required for the non-static field, method, or property
Ahoj,
když v C# ve Windows Form Application vytvořím funkci a použiju ji, normálně funguje. Když ale úplně stejnou funkci vytvořím v Console Application, Visual Studio mi napíše "Error 1 An object reference is required for the non-static field, method, or property 'ConsoleApplication4.Program.Funkce(int)'". Nevíte, v čem dělám chybu?
Díky za pomoc
console application ma staticku classu program. preto aj funkciu vytvor ako static.
Jsem v programování začátečník, takže to budu potřebovat víc polopaticky :).
Chtěl jsem vytvořit konzolovou aplikaci, která přečte číslo, které do ní zapíše uživatel a odpoví (zadané číslo + 1) pomocí funkce. Funkce je to hloupá, ale snažím se začínat od jednoduchých věcí.
Když si vytvořím WindowsForm Aplikaci a napíšu do ní :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace C_Sharp_WindowsForm_Aplikace
{
public partial class Form1 : Form
{
public int Funkce(int a) //Má funkce
{
a = a + 1;
return a;
}
public Form1()
{
InitializeComponent();
}
private void plusJedna(object sender, EventArgs e) //Aplikace má textbox, do kterého se napíše číslo a pak se v něm zobrazí výsledek
{
txt.Text = (Funkce(int.Parse(txt.Text))).ToString();
}
}
}
Aplikace mi funguje jak má, chci udělat to samé v Konzolové aplikaci, ale když napíšu kód :
using System;
namespace C_Sharp_Konzolová_aplikace
{
class Program
{
public int Funkce(int a)//Stejná funkce
{
a = a + 1;
return a;
}
static void Main(string[] args)
{
Console.WriteLine(Funkce(int.Parse(Console.ReadLin e())));//Která se mi vypíše do konzole
Console.ReadLine();
}
}
}
Vypíše mi Visual Studio chybu. Jak mám tedy napsat kód správně? A prosím o co nejvíc vysvětlivek.
Díky :)
static int Funkce(int a)
Zkusil jsem a aplikace funguje.
Díky za pomoc
Měl by ses naučit psát trochu přehlednější kód.