Przejdź do treści stopki
POMOC .NET

C# Przekazywanie przez referencję (jak to działa dla programistów)

Skuteczne zarządzanie pamięcią i manipulacja danymi to kluczowe elementy tworzenia wydajnego kodu w świecie programowania. Pisanie skutecznego i wolnego od błędów kodu wymaga zrozumienia sposobu przekazywania danych między metodami i funkcjami w językach takich jak C#. Jednym z kluczowych pojęć w tym procesie jest "przekazywanie przez referencję". W tym poście omówimy znaczenie przekazywania przez referencję w języku C# oraz odpowiednie scenariusze jego zastosowania.

Jak korzystać z C# Pass by Reference

  1. Zdefiniuj metodę z parametrami ref.
  2. Zainicjuj zmienną.
  3. Wywołaj metodę za pomocą słowa kluczowego Ref.
  4. Zmodyfikuj zmienną wewnątrz metody.
  5. Obserwuj zmiany w metodzie Main.
  6. Zdefiniuj inną metodę z parametrem Out do generowania plików PDF.
  7. Zainicjuj i wywołaj metodę Out.

Czym jest przekazywanie przez referencję w języku C#?

Wykorzystanie przekazywania przez referencję odnosi się do sposobu, w jaki w języku C# wysyła się argumenty do funkcji lub metod, podając referencję do zmiennej początkowej wywoływanej metody zamiast kopii jej wartości. Oznacza to, że wszelkie zmiany wprowadzone w parametrze wewnątrz metody będą miały również wpływ na zmienną początkową poza metodą.

Zmienne typu wartościowego w języku C# (takie jak int, float, bool itp.) są zazwyczaj przekazywane przez wartość, co oznacza, że metoda otrzymuje kopię wartości zmiennej. Niemniej jednak można nakazać kompilatorowi przekazywanie argumentów przez odwołanie, używając słowa kluczowego ref.

Użycie słowa kluczowego ref

W języku C# argumenty dla parametrów przekazywanych przez referencję można definiować za pomocą słowa kluczowego ref. Wszelkie modyfikacje parametru dostarczanego przez odwołanie przy użyciu słowa kluczowego ref będą miały wpływ na pierwotną zmienną.

class Program
{
    static void Main(string[] args)
    {
        int num = 10;
        Console.WriteLine("Before: " + num); // Output: Before: 10
        ModifyByRef(ref num);
        Console.WriteLine("After: " + num);  // Output: After: 20
    }

    // Method that modifies the integer by reference
    static void ModifyByRef(ref int x)
    {
        x = x * 2; // Modify the original value by reference
    }
}
class Program
{
    static void Main(string[] args)
    {
        int num = 10;
        Console.WriteLine("Before: " + num); // Output: Before: 10
        ModifyByRef(ref num);
        Console.WriteLine("After: " + num);  // Output: After: 20
    }

    // Method that modifies the integer by reference
    static void ModifyByRef(ref int x)
    {
        x = x * 2; // Modify the original value by reference
    }
}
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim num As Integer = 10
		Console.WriteLine("Before: " & num) ' Output: Before: 10
		ModifyByRef(num)
		Console.WriteLine("After: " & num) ' Output: After: 20
	End Sub

	' Method that modifies the integer by reference
	Private Shared Sub ModifyByRef(ByRef x As Integer)
		x = x * 2 ' Modify the original value by reference
	End Sub
End Class
$vbLabelText   $csharpLabel

Metoda ModifyByRef w powyższym przykładzie używa słowa kluczowego ref, aby pobrać parametr całkowitoliczbowy x przez odwołanie. Wszelkie modyfikacje wprowadzone w parametrze ref x wewnątrz metody mają natychmiastowy wpływ na zmienną num poza metodą, gdy metoda jest wywoływana za pomocą ref num.

Słowo kluczowe out

Słowo kluczowe out służy do przekazywania parametrów przez odwołanie do metody wywołującej, podobnie jak ref. W rezultacie metody mogą zwracać wiele wartości.

class Program
{
    static void Main(string[] args)
    {
        int result;
        Calculate(10, 5, out result);
        Console.WriteLine("Result: " + result); // Output: Result: 15
    }

    // Method that calculates the sum of two integers and outputs the result by reference
    static void Calculate(int x, int y, out int result)
    {
        result = x + y; // Assign the sum to the out parameter
    }
}
class Program
{
    static void Main(string[] args)
    {
        int result;
        Calculate(10, 5, out result);
        Console.WriteLine("Result: " + result); // Output: Result: 15
    }

    // Method that calculates the sum of two integers and outputs the result by reference
    static void Calculate(int x, int y, out int result)
    {
        result = x + y; // Assign the sum to the out parameter
    }
}
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim result As Integer = Nothing
		Calculate(10, 5, result)
		Console.WriteLine("Result: " & result) ' Output: Result: 15
	End Sub

	' Method that calculates the sum of two integers and outputs the result by reference
	Private Shared Sub Calculate(ByVal x As Integer, ByVal y As Integer, ByRef result As Integer)
		result = x + y ' Assign the sum to the out parameter
	End Sub
End Class
$vbLabelText   $csharpLabel

Dwa parametry całkowitoliczbowe, x oraz y, a także dodatkowy parametr result oznaczony słowem kluczowym out, są przekazywane do metody Calculate w tym przykładzie. Wynik jest przypisywany do parametru result po obliczeniu przez procedurę sumy x i y. result nie wymaga inicjalizacji przed wysłaniem do metody, ponieważ jest oznaczone jako out.

Kiedy stosować przekazywanie przez referencję

Pisanie wydajnego i łatwego w utrzymaniu kodu wymaga wiedzy o tym, kiedy należy stosować przekazywanie przez referencję. Następujące sytuacje wymagają użycia przekazywania przez referencję:

Modyfikowanie wielu zmiennych

Przekazywanie parametrów przez referencję może być pomocne, gdy metoda musi zmienić kilka zmiennych, a zmiany te muszą zostać odzwierciedlone poza metodą. Zamiast zwracać wiele wartości, zmienne można przekazać przez referencję i zmieniać bezpośrednio w metodzie.

// Method that modifies multiple variables by reference
static void ModifyMultipleByRef(ref int a, ref int b)
{
    a *= 2; // Double the first variable
    b *= 3; // Triple the second variable
}
// Method that modifies multiple variables by reference
static void ModifyMultipleByRef(ref int a, ref int b)
{
    a *= 2; // Double the first variable
    b *= 3; // Triple the second variable
}
' Method that modifies multiple variables by reference
Shared Sub ModifyMultipleByRef(ByRef a As Integer, ByRef b As Integer)
	a *= 2 ' Double the first variable
	b *= 3 ' Triple the second variable
End Sub
$vbLabelText   $csharpLabel

Struktury Big Data

Zapobieganie niepotrzebnemu powielaniu danych oraz przekazywanie dużych struktur danych — takich jak tablice lub złożone obiekty — przez odwołanie może zwiększyć wydajność. Przekazywanie przez referencję należy jednak stosować ostrożnie podczas pracy z dużymi strukturami danych, ponieważ może to mieć nieoczekiwane konsekwencje, jeśli nie zostanie odpowiednio obsłużone.

Interoperacyjność z kodem zewnętrznym

Konieczne może być przesyłanie argumentów przez odwołanie, aby zachować zgodność zarówno z definicją metody, jak i wymaganiami kodu zewnętrznego podczas interakcji z bibliotekami zewnętrznymi lub integracji kodu natywnego.

Czym jest IronPDF?

IronPDF umożliwia programistom tworzenie, modyfikowanie i renderowanie dokumentów PDF w aplikacjach .NET. Jego bogaty zestaw funkcji sprawia, że praca z plikami PDF jest prosta. Możesz tworzyć dokumenty PDF z plików HTML, zdjęć i innych formatów; opisywać pliki PDF tekstem, obrazami i innymi danymi; oraz dzielić, łączyć i edytować istniejące dokumenty PDF.

Główną funkcją IronPDF jest możliwość konwersji HTML do formatu PDF z zachowaniem układu i stylów. Ta funkcja doskonale nadaje się do generowania plików PDF z treści internetowych, takich jak raporty, faktury i dokumentacja. Konwertuje pliki HTML, adresy URL i ciągi znaków HTML na pliki PDF.

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
Imports IronPdf

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim renderer = New ChromePdfRenderer()

		' 1. Convert HTML String to PDF
		Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
		Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
		pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")

		' 2. Convert HTML File to PDF
		Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
		Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
		pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")

		' 3. Convert URL to PDF
		Dim url = "http://ironpdf.com" ' Specify the URL
		Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
		pdfFromUrl.SaveAs("URLToPDF.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

Funkcje IronPDF

Adnotacje do tekstu i obrazów

IronPDF umożliwia programowe dodawanie tekstu, obrazów i adnotacji do dokumentów PDF. Dzięki tej funkcji można opatrzyć pliki PDF podpisami, pieczątkami i adnotacjami.

Zabezpieczenia plików PDF

IronPDF pozwala określić różne uprawnienia, w tym drukowanie, kopiowanie treści i edycję dokumentu, a także umożliwia szyfrowanie dokumentów PDF za pomocą haseł. Pomaga to w kontrolowaniu dostępu do plików PDF i zabezpieczaniu wrażliwych danych.

Wypełnianie interaktywnych formularzy PDF

IronPDF umożliwia programowe wypełnianie interaktywnych formularzy PDF. Ta funkcja jest przydatna do tworzenia spersonalizowanych dokumentów na podstawie danych wprowadzonych przez użytkownika lub do automatycznego przesyłania formularzy.

Kompresja i optymalizacja plików PDF

Aby zminimalizować rozmiar pliku bez utraty jakości, IronPDF oferuje rozwiązania zarówno do kompresji, jak i optymalizacji plików PDF. Zmniejsza to ilość miejsca potrzebnego na przechowywanie dokumentów PDF, a jednocześnie poprawia wydajność.

Kompatybilność międzyplatformowa

IronPDF został stworzony, aby bezbłędnie współpracować z aplikacjami .NET przeznaczonymi między innymi dla systemów Windows, Linux i macOS. Zintegrowane są z nim popularne frameworki .NET, takie jak ASP.NET, .NET Core i Xamarin.

Utwórz nowy projekt Visual Studio

W programie Visual Studio łatwo jest utworzyć projekt konsolowy. Aby utworzyć aplikację konsolową, wykonaj następujące czynności w programie Visual Studio:

Przed rozpoczęciem pracy w Visual Studio upewnij się, że masz je zainstalowane na swoim komputerze.

Rozpocznij nowy projekt

Wybierz Plik, następnie Nowy, a na końcu Projekt.

C# Przekazywanie przez referencję (jak to działa dla programistów): Rysunek 1

Po lewej stronie pola "Utwórz nowy projekt" wybierz preferowany język programowania (na przykład C#).

Szablon "Aplikacja konsolowa" lub "Aplikacja konsolowa (.NET Core)" można wybrać z poniższej listy szablonów projektów.

W polu "Nazwa" podaj nazwę swojego projektu.

C# Przekazywanie przez referencję (jak to działa dla programistów): Rysunek 2

Wybierz lokalizację, w której chcesz zapisać projekt.

Naciśnij "Utwórz", aby zainicjować projekt aplikacji konsolowej.

C# Przekazywanie przez odwołanie (jak to działa dla programistów): Rysunek 3

Instalacja IronPDF

W sekcji Narzędzia w Visual Studio Tools można znaleźć interfejs Visual Command-Line. Wybierz menedżera pakietów dla NuGet. W zakładce terminala zarządzania pakietami należy wpisać następujące polecenie.

Install-Package IronPdf

Dodatkową alternatywą jest użycie menedżera pakietów. Instalacja pakietu bezpośrednio w rozwiązaniu jest możliwa dzięki opcji NuGet Package Manager. Aby znaleźć pakiety, skorzystaj z pola wyszukiwania na stronie NuGet. Poniższy przykładowy zrzut ekranu ilustruje, jak łatwo jest wyszukać "IronPDF" w menedżerze pakietów:

C# Przekazywanie przez odwołanie (jak to działa dla programistów): Rysunek 4 — Instalacja IronPDF z menedżera pakietów NuGet

Listę odpowiednich wyników wyszukiwania można zobaczyć na powyższym obrazku. Aby umożliwić instalację oprogramowania na komputerze, prosimy o dostosowanie tych ustawień.

Po pobraniu i zainstalowaniu pakietu można go używać w bieżącym projekcie.

Korzystanie z funkcji Pass by Reference w IronPDF

Oto przykład wykorzystania funkcji przekazywania przez referencję w IronPDF.

using IronPdf;
using System;

class Program
{
    static void Main(string[] args)
    {
        // Create a PDF document
        var pdf = new IronPdf.HtmlToPdf();
        // HTML content to be converted to PDF
        string htmlContent = "<h1>Hello, IronPDF!</h1>";
        // Create a byte array to store the PDF content
        byte[] pdfBytes;
        // Convert HTML to PDF and pass the byte array by reference
        ConvertHtmlToPdf(pdf, htmlContent, out pdfBytes);
        // Save or process the PDF content
        // For demonstration, let's print the length of the PDF content
        Console.WriteLine("Length of PDF: " + pdfBytes.Length);
    }

    // Method that converts HTML content to PDF and stores it in a byte array by reference
    static void ConvertHtmlToPdf(IronPdf.HtmlToPdf pdfConverter, string htmlContent, out byte[] pdfBytes)
    {
        // Convert HTML to PDF and store the result in the byte array
        var pdfDoc = pdfConverter.RenderHtmlAsPdf(htmlContent);
        pdfBytes = pdfDoc.BinaryData;
    }
}
using IronPdf;
using System;

class Program
{
    static void Main(string[] args)
    {
        // Create a PDF document
        var pdf = new IronPdf.HtmlToPdf();
        // HTML content to be converted to PDF
        string htmlContent = "<h1>Hello, IronPDF!</h1>";
        // Create a byte array to store the PDF content
        byte[] pdfBytes;
        // Convert HTML to PDF and pass the byte array by reference
        ConvertHtmlToPdf(pdf, htmlContent, out pdfBytes);
        // Save or process the PDF content
        // For demonstration, let's print the length of the PDF content
        Console.WriteLine("Length of PDF: " + pdfBytes.Length);
    }

    // Method that converts HTML content to PDF and stores it in a byte array by reference
    static void ConvertHtmlToPdf(IronPdf.HtmlToPdf pdfConverter, string htmlContent, out byte[] pdfBytes)
    {
        // Convert HTML to PDF and store the result in the byte array
        var pdfDoc = pdfConverter.RenderHtmlAsPdf(htmlContent);
        pdfBytes = pdfDoc.BinaryData;
    }
}
Imports IronPdf
Imports System

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Create a PDF document
		Dim pdf = New IronPdf.HtmlToPdf()
		' HTML content to be converted to PDF
		Dim htmlContent As String = "<h1>Hello, IronPDF!</h1>"
		' Create a byte array to store the PDF content
		Dim pdfBytes() As Byte = Nothing
		' Convert HTML to PDF and pass the byte array by reference
		ConvertHtmlToPdf(pdf, htmlContent, pdfBytes)
		' Save or process the PDF content
		' For demonstration, let's print the length of the PDF content
		Console.WriteLine("Length of PDF: " & pdfBytes.Length)
	End Sub

	' Method that converts HTML content to PDF and stores it in a byte array by reference
	Private Shared Sub ConvertHtmlToPdf(ByVal pdfConverter As IronPdf.HtmlToPdf, ByVal htmlContent As String, ByRef pdfBytes() As Byte)
		' Convert HTML to PDF and store the result in the byte array
		Dim pdfDoc = pdfConverter.RenderHtmlAsPdf(htmlContent)
		pdfBytes = pdfDoc.BinaryData
	End Sub
End Class
$vbLabelText   $csharpLabel

Funkcja ConvertHtmlToPdf w tym przykładzie przyjmuje trzy parametry: treść HTML, tablicę bajtów o nazwie pdfBytes oraz obiekt IronPDF HtmlToPdf. Słowo kluczowe out oznacza, że parametr pdfBytes jest przekazywany przez odwołanie i zostanie zmieniony w ramach metody.

C# Przekazywanie przez referencję (jak to działa dla programistów): Rysunek 5

Treść HTML jest renderowana jako dokument PDF przy użyciu IronPDF w ramach funkcji ConvertHtmlToPdf, a powstałe dane binarne są przechowywane w tablicy pdfBytes.

W funkcji Main ponownie używamy konwersji IronPDF HTML do PDF, przekazując tablicę pdfBytes przez odwołanie. Po wywołaniu metody zawartość pliku PDF IronPDF jest przechowywana w lokalizacji pamięci tablicy pdfBytes.

C# Przekazywanie przez odwołanie (jak to działa dla programistów): Rysunek 6

Tutaj dowiesz się, jak efektywnie tworzyć i pracować z dokumentami PDF przy użyciu IronPDF oraz przekazywania przez referencję w języku C#.

Wnioski

Podsumowując, użycie IronPDF z przekazywaniem przez referencję w C# znacznie poprawia możliwości tworzenia i modyfikowania dokumentów PDF w programach .NET. Skuteczne wykorzystanie słów kluczowych ref i out pozwala programistom z łatwością przekazywać argumenty przez odwołanie, umożliwiając szybką i wydajną modyfikację zmiennych oraz treści w ramach metod. Szeroki zakres funkcji IronPDF, obejmujący możliwość konwersji HTML do PDF, generowania plików PDF na podstawie obrazów oraz wykonywania rozbudowanych zadań związanych z modyfikacją plików PDF, umożliwia programistom łatwe tworzenie dynamicznych i interaktywnych dokumentów PDF.

IronPDF oferuje narzędzia i interfejsy API niezbędne do przyspieszenia procesów przetwarzania dokumentów, w tym dzielenia, łączenia, dodawania adnotacji i optymalizacji plików PDF. Ponadto wieloplatformowa interoperacyjność IronPDF gwarantuje, że aplikacje C# mogą z łatwością wykorzystywać funkcje PDF w różnych środowiskach. Zasadniczo programiści mogą stworzyć nowe możliwości tworzenia, modyfikowania i wyświetlania dokumentów PDF w swoich aplikacjach, łącząc zalety przekazywania przez referencję w języku C# z bogatym zestawem funkcji IronPDF.

Ponadto można efektywnie pracować z programem Excel, tworzyć pliki PDF, przeprowadzać rozpoznawanie optyczne (OCR) oraz korzystać z BARCODE-ów. Ceny poszczególnych bibliotek zaczynają się od $799. Programiści mogą z pewnością wybrać najlepszy model, jeśli dostępne są jasne opcje licencji dostosowane do potrzeb projektu. Dzięki tym zaletom programiści mogą skutecznie i przejrzyście radzić sobie z różnorodnymi wyzwaniami.

Często Zadawane Pytania

Jak mogę przekonwertować HTML na PDF w języku C#?

Możesz użyć metody RenderHtmlAsPdf biblioteki IronPDF do konwersji ciągów HTML na pliki PDF. Metoda ta pozwala w łatwy sposób przekształcić strony internetowe lub zawartość HTML w wysokiej jakości dokumenty PDF, zachowując oryginalny układ i formatowanie.

Czym jest przekazywanie przez referencję w języku C#?

Przekazywanie przez odwołanie w języku C# odnosi się do metody przekazywania argumentów do funkcji lub metod poprzez podanie odwołania do oryginalnej zmiennej zamiast kopii jej wartości. Dzięki temu wszelkie zmiany wprowadzone w parametrze wewnątrz metody mają wpływ na oryginalną zmienną.

Jak używać słów kluczowych „ref” i „out” w języku C#?

W języku C# słowo kluczowe „ref” służy do przekazywania argumentów przez odwołanie, co pozwala na modyfikacje w obrębie metody, które mają wpływ na pierwotną zmienną. Słowo kluczowe „out” działa podobnie, ale nie wymaga wcześniejszej inicjalizacji zmiennej, umożliwiając metodom zwracanie wielu wartości.

Kiedy należy stosować przekazywanie przez odwołanie w języku C#?

Przekazywanie przez referencję powinno być stosowane, gdy trzeba zmodyfikować wiele zmiennych, obsługiwać duże struktury danych, aby uniknąć niepotrzebnego kopiowania, lub podczas interakcji z bibliotekami zewnętrznymi, które wymagają parametrów referencyjnych.

W jaki sposób biblioteka do przetwarzania plików PDF może wykorzystywać przekazywanie przez referencję?

Biblioteka do przetwarzania plików PDF, taka jak IronPDF, może wykorzystywać przekazywanie przez referencję do przechowywania danych PDF w tablicy bajtów przy użyciu słowa kluczowego „out”. Umożliwia to wydajne przetwarzanie i modyfikowanie treści plików PDF w ramach metod, takich jak konwersja HTML do PDF i przechowywanie wyniku w tablicy bajtów.

Jakie są zalety korzystania z biblioteki do przetwarzania plików PDF w środowisku .NET?

Biblioteka do przetwarzania plików PDF, taka jak IronPDF, oferuje funkcje takie jak konwersja HTML do PDF, adnotacje tekstowe i graficzne, zabezpieczenia PDF, wypełnianie formularzy, kompresja i optymalizacja. Jest kompatybilna z aplikacjami .NET, zwiększając funkcjonalność i kompatybilność międzyplatformową.

Jak zainstalować bibliotekę do przetwarzania plików PDF w projekcie Visual Studio?

Bibliotekę do przetwarzania plików PDF można zainstalować w projekcie Visual Studio za pomocą menedżera pakietów NuGet. Użyj odpowiedniego polecenia w terminalu zarządzania pakietami lub wyszukaj bibliotekę w interfejsie menedżera pakietów NuGet.

Czy IronPDF może być używany z ASP.NET i .NET Core?

Tak, IronPDF został zaprojektowany tak, aby płynnie integrować się z aplikacjami ASP.NET i .NET Core, umożliwiając programistom tworzenie, modyfikowanie i renderowanie dokumentów PDF na różnych platformach.

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Dyrektor ds. technologii

Jacob Mellor jest Chief Technology Officer w Iron Software i wizjonerskim inżynierem, pionierem technologii C# PDF. Jako pierwotny deweloper głównej bazy kodowej Iron Software, kształtuje architekturę produktów firmy od jej początku, przekształcając ją wspólnie z CEO Cameron Rimington w firmę liczą...

Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie