Udostępnij za pośrednictwem


Generowanie na podstawie sposobu użycia

Funkcja generowania z użycia umożliwia korzystanie z klas i członków, zanim je zdefiniować.Można wygenerować stub dla wszelkich klasy, Konstruktor, metody, właściwości, pola lub wyliczenia, którego chcesz używać, ale nie zostały jeszcze zdefiniowane.Można wygenerować nowych typów oraz członków bez opuszczania bieżącej lokalizacji w kodzie.Ta minimalizuje przerwy do przepływu pracy.

Generuj z użycia obsługuje programowania style, takie jak rozwój pierwszego badania.

Za pomocą generować zużycia w C#

Podkreślenie faliste pojawia się pod każdy identyfikator niezdefiniowany.Po umieszczeniu wskaźnika myszy na identyfikator komunikatu o błędzie jest wyświetlany w etykietce narzędzia.

Aby wyświetlić odpowiednie opcje, można użyć jednej z następujących procedur:

  • Kliknij identyfikator niezdefiniowany.Skrajny lewy znak jest krótki podkreślone.Umieść wskaźnik myszy na podkreślenie krótkie i zostanie wyświetlony tag inteligentny (ikona).Kliknij przycisk tagu inteligentnego.

  • Kliknij identyfikator niezdefiniowane, a następnie naciśnij klawisze CTRL +.(kropka).

  • Kliknij prawym przyciskiem myszy Niezdefiniowany identyfikator, a następnie kliknij przycisk Generowanie.

Opcje, które pojawiają się mogą być następujące:

  • Generowanie skrótowej własności

  • Generuj pola skrótowej

  • Generowanie metoda skrótowej

  • Generowanie klasy

  • Generowanie nowego typu (dla klasy, struktury, interfejsu lub enum)

Za pomocą wygenerować z użycia w języku Visual Basic

Falistą linią jest wyświetlany w obszarze każdego identyfikatora niezdefiniowany i krótkie podkreślenie pojawia się w obszarze skrajnego znaku.Po umieszczeniu wskaźnika myszy na identyfikator komunikatu o błędzie jest wyświetlany w etykietce narzędzia.

Aby wyświetlić odpowiednie opcje, można użyć jednej z następujących procedur:

  • Umieść wskaźnik myszy na identyfikator niezdefiniowany.Zostanie wyświetlony tag inteligentny (ikona).Kliknij przycisk tagu inteligentnego.

  • Kliknij identyfikator niezdefiniowane, a następnie naciśnij klawisze CTRL +.(kropka).

  • W Listy błędów okno, kliknij dwukrotnie odpowiedni wiersz błąd.

Opcje, które pojawiają się mogą być następujące:

  • Generowanie skrótowej własności

  • Generuj pola skrótowej

  • Generowanie metoda skrótowej

  • Generowanie klasy

  • Generowanie interfejsu

  • Generowanie nowego typu (dla klasy, struktury, Interface, Enum, pełnomocnik lub moduł)

Generowanie skrótowej własności

Jeśli kod odwołuje się do niezdefiniowanej właściwości, kliknij przycisk skrótowych właściwość generowanie.Skrótowa właściwości jest generowany w odpowiedniej klasie.Zwracany typ właściwości zależy od kontekstu.

Załóżmy na przykład, można wygenerować InstanceProperty właściwość z wyciągu w poniższym kodzie.

Dim cust As New Customer()
Dim city As String = cust.InstanceProperty
Customer cust = new Customer();
string city = cust.InstanceProperty;

Podczas generowania właściwość następujące skrótowa jest tworzony w Customer klasy.

Property InstanceProperty() As String
public string InstanceProperty { get; set; }

Jeśli właściwość jest wywoływany typu i nie instancji, generowanych skrótowej będzie statyczna właściwość (C#) lub właściwości wspólnych (Visual Basic).

Wyobraźmy sobie na przykład wygenerować właściwości z następującą instrukcję (przy założeniu, że Customer jest nazwą klasy).

Dim description As String = Customer.SharedProperty
string description = Customer.StaticProperty;

Podczas generowania właściwość następujące skrótowa jest tworzony w Customer klasy.

Shared Property SharedProperty As String
public static string StaticProperty { get; set; }

Jeśli właściwość zostanie wywołany bez kwalifikacji (odnoszące się do elementu członkowskiego typu bieżącego), generowanych skrótowa jest statyczna, jeśli właściwość jest wywoływana z metodą statyczną.W przeciwnym razie jest właściwość instancji.

Załóżmy na przykład, generowanie właściwość z następującą instrukcję.

Dim title As String = UnqualifiedProperty
string title = UnqualifiedProperty;

Podczas generowania właściwość następujące skrótowa jest tworzony w bieżącej klasy.

Private Property UnqualifiedProperty() As String
public string UnqualifiedProperty { get; set; }

Generowanie skrótowej metody

Jeśli kod odwołuje się do metody niezdefiniowanej, kliknij przycisk skrótowych metoda generowanie.Skrótowa metoda jest generowany w odpowiedniej klasie.

Typ każdego parametru i typ zwracany są określane z kontekstu.Typ obiektu jest używany, gdy typ nie może być taki, na przykład typy anonimowe lub niejawnie wpisane zmiennych lokalnych (zmienne zdefiniowane za pomocą słowa kluczowego var).

Nazwa każdego parametru pochodzi od nazwy argumentów, które są przekazywane do wywołania metody.

Załóżmy na przykład, można wygenerować InstanceMethod metody z wyciągu w poniższym kodzie.

Dim cust As New Customer()
Dim itemNumber = 3
Dim itemName = "abc"
cust.InstanceMethod(itemNumber, itemName, 4)
Customer cust = new Customer();
int itemNumber = 3;
string itemName = "abc";
cust.InstanceMethod(itemNumber, itemName, 4);

Podczas generowania metoda następujące skrótowa jest tworzony w odpowiedniej klasie.

Sub InstanceMethod(ByVal itemNumber As Integer, ByVal itemName As String, ByVal p3 As Integer)
    Throw New NotImplementedException
End Sub
internal void InstanceMethod(int itemNumber, string itemName, int p)
{
    throw new NotImplementedException();
}

Jeśli wywołana została metoda typu i nie instancji, generowanych skrótowa jest metodą statyczną (C#) lub udostępnionej metody (Visual Basic).

Generowanie skrótowej metody dla zdarzenia

W języku Visual Basic, można wygenerować metody obsługi zdarzenia dla zdarzenia, do którego odwołują się AddHandler — Instrukcja lub RemoveHandler — Instrukcja.

Załóżmy na przykład, można wygenerować EventHandler metody z jednej z następujących oświadczeń w kodzie.

AddHandler obj.Ev_Event, AddressOf EventHandler
RemoveHandler obj.Ev_Event, AddressOf EventHandler

Podczas generowania metoda następujące skrótowa jest tworzony w bieżącej klasy.

Private Sub EventHandler()
    Throw New NotImplementedException
End Sub

Generowanie skrótowej konstruktora

Jeśli kod odwołuje się do niezdefiniowanego konstruktora, kliknij przycisk skrótowych konstruktora generowanie.Skrótowa konstruktora jest generowany w odpowiedniej klasie.Typ każdego parametru zależy od kontekstu.

Badane są nazwy parametrów konstruktora.Jeśli klasa ma właściwości, które mają nazwy, które odpowiadają nazwom tych parametrów, kod jest dostarczany w konstruktorze do przechowywania wartości argumentu dla tych właściwości.

Na przykład załóżmy, że aby wygenerować konstruktora dla Example klasy z wyciągu w poniższym kodzie.

Dim total As Long = 12
Dim exampleTest As New Example(5, total, Date.Now)
long total = 12;
Example exampleTest = new Example(5, total, System.DateTime.Now);

Podczas generowania konstruktora następujące zmienne prywatne są tworzone w Example klasy, jeśli nie są one już obecne.

Private _p1 As Integer 
Private _total As Long 
Private _p3 As Date
private int p;
private long total;
private DateTime dateTime;

Utworzono następujące skrótowej konstruktora.

Sub New(ByVal p1 As Integer, ByVal total As Long, ByVal p3 As Date)
    ' TODO: Complete member initialization 
    _p1 = p1
    _total = total
    _p3 = p3
End Sub
public Example(int p, long total, DateTime dateTime)
{
    // TODO: Complete member initialization 
    this.p = p;
    this.total = total;
    this.dateTime = dateTime;
}

Można generować więcej niż jeden konstruktor klasy.Konstruktor dodatkowe mogą być generowane, jeśli wywołanie konstruktora ma inną liczbę argumentów lub argument różnych typów.

W języku Visual Basic Konstruktor również mogą być generowane podczas generowania klasy.Zobacz następną sekcję tego tematu, aby uzyskać więcej informacji.

Generowanie klasy

Jeśli kod odwołuje się do niezdefiniowanego klasy lub innego typu, opcje są wyświetlane dla klasy generowanie i Generowanie nowego typu.

Jeśli klikniesz klasy generowanie, skrótowej pusty klasy jest generowany w nowym pliku projektu.Nowy plik jest otwarty w edytorze kodu (ale nie fokus).Jest to najszybszy sposób, aby utworzyć nowy typ klasy z domyślną modyfikatory dostępu do nowego pliku w bieżącym projekcie.

Załóżmy na przykład, generowanie klasy z następującą instrukcję.

Dim cust As Customer
Customer cust;

Podczas generowania klasy następujące nowe skrótowej klasy jest tworzony w nowym pliku projektu.

Class Customer

End Class
namespace CSharpWindowsApp
{
    class Customer
    {
    }
}

Można również użyć klasy generowanie polecenia podczas dziedziczonej klasie podstawowej jest niezdefiniowana w definicji klasy.

Generowanie klasy wraz z konstruktora

W języku Visual Basic wygenerowanej klasy będzie zawierać konstruktora, jeśli właściwe.

Załóżmy na przykład, generowanie klasy z następującą instrukcję.

Dim total = 3
Dim exampleTest As New Example(5, total, Date.Now) With {.Description = "book"}

Podczas generowania klasy następujące nowe skrótowej klasy jest tworzony w nowym pliku projektu.Konstruktora jest generowany w klasie.A Description właściwość jest tworzony dla inicjatora obiekt, który jest w With w poprzednim kodzie klauzuli.

Class Example
    Private _p3 As Date 
    Private _total As Integer 
    Private _p1 As Integer 

    Sub New(ByVal p1 As Integer, ByVal total As Integer, ByVal p3 As Date)
        ' TODO: Complete member initialization 
        _p1 = p1
        _total = total
        _p3 = p3
    End Sub 

    Property Description As String 
End Class

Generowanie nowych typów z dodatkowymi opcjami

Jeśli kod odwołuje się do niezdefiniowanego klasy, interface, enum, struct (C#) lub struktury (Visual Basic), opcje są wyświetlane dla klasy generowanie i Generowanie nowego typu.Jest to widoczne w poniższej ilustracji.

Visual Basic

Menu kontekstowe tagu w języku Visual Basic

Program Visual C#

Menu kontekstowe tagu w języku C#

Kliknij przycisk Generowanie nowego typu otworzyć Wygenerować nowy typ okno dialogowe, które umożliwia wybranie poziomu dostępu, rodzaj, lokalizację projektu i nazwę pliku.

Generowanie nowego typu opcja zapewnia dodatkową elastyczność podczas generowania klasy.Możesz umieścić klasy w istniejącym pliku, lub określić modyfikatorów dostępu lub dodać nowy plik do innego projektu w roztworze.

Na poniższej ilustracji pokazano Wygenerować nowy typ okno dialogowe.

Generowanie nowego typu, okno dialogowe

Okno dialogowe Nowy typ Generowanie

W poniższej tabeli przedstawiono opcje dostępne w Wygenerować nowy typ okno dialogowe.

Opcja

Wybór języka C#

Wybór języka Visual Basic

Dostęp

Domyślny publiczną, wewnętrznego lub prywatnego.

Domyślne, przyjaciel lub publicznych.

Rodzaj

Klasy, struktury, interfejsu lub enum.

Klasy, struktury, interfejs, Enum, pełnomocnik lub moduł.

Lokalizacja projektu

Bieżącego projektu lub innego projektu w roztworze.

Bieżącego projektu lub innego projektu w roztworze.

Nazwa pliku

Utwórz nowy plik o nazwie pliku, lub Dodaj do istniejącego pliku o nazwie.

Utwórz nowy plik o nazwie pliku, lub Dodaj do istniejącego pliku o nazwie.

Jeśli typem jest generowany w nowym pliku, nowy plik będzie zawierać domyślny zestaw using dyrektyw dla klasy, który jest generowany przez Dodaj nowy element okno dialogowe.

Jeśli typem jest generowany w innym projekcie w roztworze, using dyrektywy, która odnosi się do tego projektu jest dodawany do bieżącego pliku.

Generowanie skrótowej interfejsu

Aby wygenerować kodu z interfejsem niezdefiniowane, kliknij Generowanie nowego typu.Wygenerować nowy typ zostanie otwarte okno dialogowe.W rodzaju listy, kliknij przycisk interfejsu.W języku Visual Basic, można również kliknąć Interfejsu generowania.

Załóżmy na przykład, można wygenerować IAuto interfejsu z wyciągu w poniższym kodzie.

Public Class Sedan : Implements IAuto
End Class
public class Sedan : IAuto
{
}

Podczas generowania interfejsu jest tworzony następujące skrótowej.

Interface IAuto

End Interface
interface IAuto
{
}

Generowanie skrótowej delegata

Aby wygenerować kodu z pełnomocnika niezdefiniowane w języku Visual Basic, kliknij przycisk Generowanie nowego typu.Wygenerować nowy typ zostanie otwarte okno dialogowe.W rodzaju listy, kliknij przycisk obiektu delegowanego.

Załóżmy na przykład, można wygenerować MathOperator delegować z wyciągu w poniższym kodzie.

Dim delInstance As New MathOperator(AddressOf AddNumbers)

Podczas generowania pełnomocnika, tworzony jest następujące skrótowej.

Delegate Sub MathOperator()

Tryb sugestia IntelliSense

Kończenie instrukcji IntelliSense zapewnia dwóch alternatyw: zakończenia tryb i sugestia tryb.W sytuacjach, w których klasy i elementy są używane zanim nie zostaną zdefiniowane, należy użyć trybu sugestię.

W trybie sugestia IntelliSense po wpisaniu w edytorze kodu i następnie zatwierdzić wejścia, wpisywany tekst jest wstawiany do kodu.Podczas przydzielania wpis w trybie zakończenia IntelliSense zaznaczony wpis na liście członków jest wstawiany do kodu.

Gdy otwarte jest okno IntelliSense, można nacisnąć kombinację klawiszy CTRL + ALT + SPACJA, aby przełączać się między tryb zakończenia i tryb sugestię.

Aby uzyskać więcej informacji, zobacz Korzystanie z IntelliSense.

Zobacz też

Zadania

Wskazówki: wcześniejsze testowanie obsługi przy użyciu funkcji generowania na podstawie sposobu użycia

Inne zasoby

Pisanie kodu w edytorze kodu i tekstu

Automatyczne generowanie kodu