Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
4 / 4 / 2
Регистрация: 20.06.2010
Сообщений: 147

Определение метода в библиотеке классов

12.01.2011, 12:42. Показов 3511. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Cождаю библиотеку классов . Создаю статические классы и методы( такие как в классе Math). Можно ли объявить метод чтобы он принимал в качестве параметра одномерный массив только лишь с 3 элементами, то есть при использовании метода компилятор требовал ииспользовать в качестве параметра метода одномерный массив с 3 элементами!!!!(не с любым количеством).
Кроме этого что надо сделать чтобы после написания метода и наведения мыши на него Intellisense выдавало описание метода?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.01.2011, 12:42
Ответы с готовыми решениями:

Запуск Экзешника из метода в библиотеке
Непонятное поведение C#. Запускаю программу методом Process.Start() в Visual Studio все работает, но стоит мне запустить ее напрямую без...

Документирование кода в библиотеке классов
Сейчас пишу библиотеку классов C# и хочу сделать все красиво)) Задался вопросом о всплывающих подсказках в коде. Хочу чтоб...

Как в библиотеке классов использовать RichTextBox
Создаю библиотеку классов. В ней пишу public class Class1 { private void MyMetod(RichTextBox richTextBox) ...

2
 Аватар для Etrimus
399 / 366 / 54
Регистрация: 23.05.2010
Сообщений: 716
12.01.2011, 12:59
Цитата Сообщение от bossman Посмотреть сообщение
Cождаю библиотеку классов . Создаю статические классы и методы( такие как в классе Math). Можно ли объявить метод чтобы он принимал в качестве параметра одномерный массив только лишь с 3 элементами, то есть при использовании метода компилятор требовал ииспользовать в качестве параметра метода одномерный массив с 3 элементами!!!!(не с любым количеством).
Может быть в теле метода проверять, из скольки элементов состояит переданный массив, и если не из трёх - выходить из метода без каких-либо действий, а лучше генерировать исключение.

Цитата Сообщение от bossman Посмотреть сообщение
Кроме этого что надо сделать чтобы после написания метода и наведения мыши на него Intellisense выдавало описание метода?
Я тоже задавался таким вопросом - в этой теме его решение.
0
4 / 4 / 2
Регистрация: 20.06.2010
Сообщений: 147
12.01.2011, 13:50  [ТС]
Лучший ответ Сообщение было отмечено bossman как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
namespace VectorMath
{
    /// <summary>
    /// Класс для векторов.
    /// </summary>
    public static class Vectors
    {
       public static void gltAddVectors( float[] vFirst,  float[]  vSecond, float[] vResult) {
    vResult[0] = vFirst[0] + vSecond[0];
    vResult[1] = vFirst[1] + vSecond[1];
    vResult[2] = vFirst[2] + vSecond[2];
    }
 
// Subtract one vector from another
public static void gltSubtractVectors( float[] vFirst, float[]  vSecond, float[] vResult) 
    {
    vResult[0] = vFirst[0] - vSecond[0];
    vResult[1] = vFirst[1] - vSecond[1];
    vResult[2] = vFirst[2] - vSecond[2];
    }
 
// Scales a vector by a scalar
public static void gltScaleVector(float[] vVector,  float fScale)
    { 
    vVector[0] *= fScale; vVector[1] *= fScale; vVector[2] *= fScale; 
    }
 
// Gets the length of a vector squared
public static float gltGetVectorLengthSqrd(float[] vVector)
    { 
    return (vVector[0]*vVector[0]) + (vVector[1]*vVector[1]) + (vVector[2]*vVector[2]); 
    }
    
// Gets the length of a vector
public static float gltGetVectorLength(float[] vVector)
    { 
    return (float)Math.Sqrt(gltGetVectorLengthSqrd(vVector)); 
    }
    
// Scales a vector by it's length - creates a unit vector
public static void gltNormalizeVector(float[] vNormal)
    { 
    float fLength = 1.0f / gltGetVectorLength(vNormal);
    gltScaleVector(vNormal, fLength); 
    }
    
// Copies a vector
public static void gltCopyVector( float[] vSource, float[] vDest)
    { 
    Array.Copy(vSource,vDest,3);
    
    }
 
// Get the dot product between two vectors
public static float gltVectorDotProduct(float[] vU, float[]  vV)
    {
    return vU[0]*vV[0] + vU[1]*vV[1] + vU[2]*vV[2]; 
    }
 
// Calculate the cross product of two vectors
 public static void gltVectorCrossProduct(float[] vU, float[]  vV, float[] vResult)
    {
    vResult[0] = vU[1]*vV[2] - vV[1]*vU[2];
    vResult[1] = -vU[0]*vV[2] + vV[0]*vU[2];
    vResult[2] = vU[0]*vV[1] - vV[0]*vU[1];
    }
 
 
 
// Given three points on a plane in counter clockwise order, calculate the unit normal
public static void gltGetNormalVector(float[] vP1, float[] vP2, float[] vP3, float[] vNormal)
    {
    float[] vV1=new float[3]; float[]vV2=new float[3];
    
    gltSubtractVectors(vP2, vP1, vV1);
    gltSubtractVectors(vP3, vP1, vV2);
    
    gltVectorCrossProduct(vV1, vV2, vNormal);
    gltNormalizeVector(vNormal);
    }
 
 
 
// Transform a point by a 4x4 matrix
public static void gltTransformPoint(float[] vSrcVector, float[] mMatrix, float[] vOut)
    {
    vOut[0] = mMatrix[0] * vSrcVector[0] + mMatrix[4] * vSrcVector[1] + mMatrix[8] *  vSrcVector[2] + mMatrix[12];
    vOut[1] = mMatrix[1] * vSrcVector[0] + mMatrix[5] * vSrcVector[1] + mMatrix[9] *  vSrcVector[2] + mMatrix[13];
    vOut[2] = mMatrix[2] * vSrcVector[0] + mMatrix[6] * vSrcVector[1] + mMatrix[10] * vSrcVector[2] + mMatrix[14];    
    }
 
// Rotates a vector using a 4x4 matrix. Translation column is ignored
public static void gltRotateVector(float[] vSrcVector, float[]  mMatrix, float[] vOut)
    {
    vOut[0] = mMatrix[0] * vSrcVector[0] + mMatrix[4] * vSrcVector[1] + mMatrix[8] *  vSrcVector[2];
    vOut[1] = mMatrix[1] * vSrcVector[0] + mMatrix[5] * vSrcVector[1] + mMatrix[9] *  vSrcVector[2];
    vOut[2] = mMatrix[2] * vSrcVector[0] + mMatrix[6] * vSrcVector[1] + mMatrix[10] * vSrcVector[2];        
    }
 
 
// Gets the three coefficients of a plane equation given three points on the plane.
public static void gltGetPlaneEquation(float[] vPoint1, float[] vPoint2, float[] vPoint3, float[] vPlane)
    {
    // Get normal vector from three points. The normal vector is the first three coefficients
    // to the plane equation...
    gltGetNormalVector(vPoint1, vPoint2, vPoint3, vPlane);
    
    // Final coefficient found by back substitution
    vPlane[3] = -(vPlane[0] * vPoint3[0] + vPlane[1] * vPoint3[1] + vPlane[2] * vPoint3[2]);
    }
    
// Determine the distance of a point from a plane, given the point and the
// equation of the plane.
public static float gltDistanceToPlane(float[] vPoint, float[] vPlane)
    {
    return vPoint[0]*vPlane[0] + vPoint[1]*vPlane[1] + vPoint[2]*vPlane[2] + vPlane[3];
    }
    }
Сделал так но все равно не высвечивает описалово? Верхушку Класс для векторов

Добавлено через 1 минуту
Использую VS2008

Добавлено через 20 минут
Нашел решение я забыл указзать создание XML файла при построении.

Добавлено через 3 минуты
А насчет проверки об размерности и выбросе исключения . Не существует более изящного метода?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.01.2011, 13:50
Помогаю со студенческими работами здесь

В переносимой библиотеке классов бинарная сериализация не работает?
Почему в переносимой библиотеке классов бинарная сериализация не работает? подчёркивается красным хотя добавлено using System; using...

Ошибка при наследовании интерфейса в библиотеке классов
В решении два проекта. Один - библиотека классов, другой консольный, который с этой библиотекой работает. В одном из классов библиотеки, в...

Использование сторонней dll в своей библиотеке классов
Добрый день. Имеется библиотека VNE.dll, которую писал не я - см. вложение. Создан новый проект в VS 2010 C# - библиотека классов....

Определение спроса на книги в библиотеке
Есть база данных библиотеки, нужно определить спрос на книги (% времени нахождения книги в библиотеке и на руках), имеются следующие...

Отсутствует метод в библиотеке классов хотя в исходниках прописан
Учусь создавать библиотеки классов. Столкнулся с проблемой когда метод в исходном коде прописан, а при построении библиотеки и её...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru