powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Создание и использование собственной библиотеки классов
19 сообщений из 19, страница 1 из 1
Создание и использование собственной библиотеки классов
    #39703559
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!

Создаю проект - библиотека классов
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
using System;

namespace Func
{
    public class Class1
    {
        static public void SumFunc(double x, double y)
        {
            int Result = x * y;
            return Result;
        }
    }
}


Создаю проект - Консольное приложение
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
using System;
using Func; 

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            double i, j;
            i = Convert.ToDouble(Console.ReadLine());
            j = Convert.ToDouble(Console.ReadLine());
            Func.Class1 f = new Func.Class1();
            int rez = f.SumFunc(i, j);            
            Console.WriteLine(rez.ToString());
            Console.ReadLine();
        }
    }
}

Библиотека Func добавлена.

Выдает ошибку "Ошибка CS0176 Доступ к члену "Class1.SumFunc(double, double)" через ссылку на экземпляр невозможен; вместо этого уточните его, указав имя типа."

Почему так? Вроде все правильно написал. Как исправить?
...
Рейтинг: 0 / 0
Создание и использование собственной библиотеки классов
    #39703589
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или static убери или пиши
Код: c#
1.
int rez = Class1.SumFunc(i, j); 
...
Рейтинг: 0 / 0
Создание и использование собственной библиотеки классов
    #39703609
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TИли static убериЕсли убрать static в библиотеке, то также
или пиши
Код: c#
1.
int rez = Class1.SumFunc(i, j); 

Пишет "Ошибка CS0029 Не удается неявно преобразовать тип "void" в "int"". Ведь Class1.SumFunc(i, j) возвращает int.
...
Рейтинг: 0 / 0
Создание и использование собственной библиотеки классов
    #39703628
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikkDima TИли static убериЕсли убрать static в библиотеке, то также
или пиши
Код: c#
1.
int rez = Class1.SumFunc(i, j); 

Пишет "Ошибка CS0029 Не удается неявно преобразовать тип "void" в "int"". Ведь Class1.SumFunc(i, j) возвращает int.
Class1.SumFunc(i, j) возвращает void
Код: c#
1.
static public void SumFunc(double x, double y)


исправь на int
...
Рейтинг: 0 / 0
Создание и использование собственной библиотеки классов
    #39703651
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
Код: c#
1.
static public void SumFunc(double x, double y)

исправь на int
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
using System;

namespace Func
{
    public class Class1
    {
        static public int SumFunc(double x, double y)
        {
            int Result = x * y;
            return Result;
        }
    }
}


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
using System;
using Func; 

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            double i, j;
            i = Convert.ToDouble(Console.ReadLine());
            j = Convert.ToDouble(Console.ReadLine());
            //Func.Class1 f = new Func.Class1();
            //int rez = f.SumFunc(i, j);
            int rez =  Class1.SumFunc(i, j);
            Console.WriteLine(rez.ToString());
            Console.ReadLine();
        }
    }
}

Также пишет "Ошибка CS0029 Не удается неявно преобразовать тип "void" в "int"" .
...
Рейтинг: 0 / 0
Создание и использование собственной библиотеки классов
    #39703656
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikkТакже пишет "Ошибка CS0029 Не удается неявно преобразовать тип "void" в "int"" .
Точно? Или другая ошибка?

Правильно так писать
Код: c#
1.
           int Result = (int) (x * y);
...
Рейтинг: 0 / 0
Создание и использование собственной библиотеки классов
    #39703675
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TferzmikkТакже пишет "Ошибка CS0029 Не удается неявно преобразовать тип "void" в "int"" .
Точно? Или другая ошибка?
...
Рейтинг: 0 / 0
Создание и использование собственной библиотеки классов
    #39703680
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Встань на SumFunc и нажми F12.
...
Рейтинг: 0 / 0
Создание и использование собственной библиотеки классов
    #39703681
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если у тебя
Код: c#
1.
static public int SumFunc(double x, double y)


то этой ошибки быть не должно.
...
Рейтинг: 0 / 0
Создание и использование собственной библиотеки классов
    #39703687
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,

там void. Не исправляется там
...
Рейтинг: 0 / 0
Создание и использование собственной библиотеки классов
    #39703689
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в библиотеке так
...
Рейтинг: 0 / 0
Создание и использование собственной библиотеки классов
    #39703692
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты библиотеку пересобрал после исправления?
...
Рейтинг: 0 / 0
Создание и использование собственной библиотеки классов
    #39703697
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TТы библиотеку пересобрал после исправления?И библиотеку пересобрал, и приложение пересобрал, и ссылку на библиотеку удалил и заново добавил. Все также.
...
Рейтинг: 0 / 0
Создание и использование собственной библиотеки классов
    #39703944
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пересобрал в самом проекте, где библиотека - заработало. До этого пересобирал библиотеку, где был открыт проект как консольное приложение. То есть открывалась библиотека, но не закрывался проект как консольное приложение.
...
Рейтинг: 0 / 0
Создание и использование собственной библиотеки классов
    #39703962
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikk
Код: c#
1.
2.
3.
4.
...
            Func.Class1 f = new Func.Class1();
            int rez = f.SumFunc(i, j);            
...

Dima Tпиши
Код: c#
1.
int rez = Class1.SumFunc(i, j); 

Почему нужно писать не f.SumFunc(i, j) , а Class1.SumFunc(i, j) ?
...
Рейтинг: 0 / 0
Создание и использование собственной библиотеки классов
    #39703977
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikkПочему нужно писать не f.SumFunc(i, j) , а Class1.SumFunc(i, j) ?
Потому что static. Ты бы сначала книжку какую-нибудь почитал для начинающих. Это фундаментальные вопросы, их надо знать.
...
Рейтинг: 0 / 0
Создание и использование собственной библиотеки классов
    #39703983
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikkПочему нужно писать не f.SumFunc(i, j) , а Class1.SumFunc(i, j) ?
Потому что так решили разработчики языка:
C# Language Specification, §10.3.7 Static and instance membersWhen a static member M is referenced in a member-access (§7.5.4) of the form E.M, E must denote a type containing M. It is a compile-time error for E to denote an instance.
...
Рейтинг: 0 / 0
Создание и использование собственной библиотеки классов
    #39703991
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я правильно понимаю, что собственный класс можно создать не только на C#, но и на VisualBasic.Net, Java, Python, класс с использованием языка R, не важна какая битность, если оcновное приложение на C#?
...
Рейтинг: 0 / 0
Создание и использование собственной библиотеки классов
    #39704090
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikk,

нельзя загрузить 64 битную сборку из 32 битного приложения, но можно создать сборку в которой будет и 32 и 64 битная версия, размер файла естественно будет ~2+ раза больше.
загрузить не CLR сборку в CLR приложении можно только через COM или через танцы с бубном
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Создание и использование собственной библиотеки классов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]