написание dll, c # (концепция)

#c#

#c#

Вопрос:

У меня есть основной вопрос.

1- Я хочу использовать науку.dll предоставляется по адресу

http://www.sciencecode.com/

Я хочу добавить некоторые новые функции в некоторые файлы XXX.cs, а также некоторые новые файлы YYY.cs. Затем я хочу снова создать из них dll (Наука.dll с изменениями) и использовать его. Как это можно сделать.

Должен ли я создать новый проект и добавить все более 100 файлов (уже указанных на веб-сайте) в этот проект и некоторые мои новые файлы YYY.cs, а затем каким должен быть следующий шаг???

2- Я хочу спросить о наилучшем способе размещения множества различных функций в одном файле utilities.cs. Скажем, у меня есть разные статические функции * printmatrix, read_text_file, * и т.д. Что мне делать, чтобы я мог напрямую использовать их в основной программе. Каким должен быть путь в c #.На c я написал заголовочный файл и файл cpp с именем utilities, а затем использовал эти функции.

Любая хорошая идея.

Комментарии:

1. Они также размещают его на sc.codeplex.com , вы можете получить исходный код оттуда 🙂 пусть это поможет! спасибо.

Ответ №1:

Вы не можете изменить существующую сборку, если у вас нет ее исходного кода. Что вы могли бы сделать, это создать новый проект библиотеки классов в Visual Studio, добавить Science.dll в качестве ссылки, а затем добавьте свои собственные функции, которые могли бы использовать функции в указанной сборке. Когда вы скомпилируете свой проект, он создаст другую сборку.

Комментарии:

1. Я хочу написать некоторые функции (утилиты). Каким должен быть путь в c #. На c я написал заголовочный файл и файл cpp с именем utilities, а затем использовал эти функции

2. @shahbaba, чтобы использовать эту библиотеку, вы можете ссылаться на нее в любом типе .NET-проекта. Может быть консольное приложение, приложение winforms, ASP.NET применение, … Вы также можете ссылаться на него в проекте библиотеки классов и добавлять свои собственные функции.

3. Я хочу спросить о наилучшем способе поместить много разных функций в один файл ‘utilities.cs’. Скажем, есть разные статические функции printmatrix, read_text_file и т.д. Что мне делать, чтобы я мог напрямую использовать их в основной программе.

4. @shahbaba, предполагая, что ваши функции находятся внутри вызываемого статического класса Utilities , в вашей основной программе вы будете вызывать их следующим образом: Utilities.printmatrix(); .

Ответ №2:

Сначала вы создаете новый проект, в котором есть ссылка на science.dll.in Visual studio Вы можете наследовать его класс и добавить свою функциональность. Вы можете использовать частичный класс с тем же именем, что и в science.dll . и добавьте свою функциональность, например: science.dll

 public class Calc
{
   public Int32 Add(Int32 a, Int32 b){..implementation...}
}
  

yourproject.dll

 public partial class Calc
{
   public Int32 Minus(Int32 a, Int32 b) {..implementation..}
}
  

Вы можете использовать метод расширения с вашей функциональностью. Это зависит от вашей реализации.
Подробную реализацию вы можете увидеть в MSDN: http://msdn.microsoft.com/library как для C #, так и для VB.NET на обоих синтаксических

В вызывающем проекте обязательно добавьте ссылку на обе науки.dll и yourproject.dll .