Metoda CodeClass2.AddFunction —
Tworzy nową funkcję w klasie.
Przestrzeń nazw: EnvDTE80
Zestaw: EnvDTE80 (w EnvDTE80.dll)
Składnia
'Deklaracja
Function AddFunction ( _
Name As String, _
Kind As vsCMFunction, _
Type As Object, _
Position As Object, _
Access As vsCMAccess, _
Location As Object _
) As CodeFunction
CodeFunction AddFunction(
string Name,
vsCMFunction Kind,
Object Type,
Object Position,
vsCMAccess Access,
Object Location
)
CodeFunction^ AddFunction(
String^ Name,
vsCMFunction Kind,
Object^ Type,
Object^ Position,
vsCMAccess Access,
Object^ Location
)
abstract AddFunction :
Name:string *
Kind:vsCMFunction *
Type:Object *
Position:Object *
Access:vsCMAccess *
Location:Object -> CodeFunction
function AddFunction(
Name : String,
Kind : vsCMFunction,
Type : Object,
Position : Object,
Access : vsCMAccess,
Location : Object
) : CodeFunction
Parametry
Name
Typ: StringWymagany.Nazwa nowej funkcji.
Kind
Typ: vsCMFunctionWymagany.vsCMFunction Stałą wskazujące na rodzaj funkcji, takich jak czy funkcja jest metody pobierającej właściwości, metody i tak dalej.
Type
Typ: ObjectWymagany.A vsCMTypeRef stała wskazuje typ danych, zwracana przez funkcję.Może to być CodeTypeRef obiektu, vsCMTypeRef stała lub w pełni kwalifikowana nazwa typu.
Position
Typ: ObjectOpcjonalne.Default = 0.Element kodu, po którym chcesz dodać nową funkcję.
Jeśli wartość jest długi, następnie Position wskazuje element, po którym ma być dodany nowy element.
Ponieważ kolekcje rozpoczynać się ich liczba 1, przekazując 0 wskazuje, że nowy element powinien być umieszczony na początku kolekcji.Wartość-1 oznacza funkcję powinny być umieszczone na końcu.
Access
Typ: vsCMAccessOpcjonalne.A vsCMAccess stałych.
Location
Typ: ObjectOpcjonalne.Lokalizacja nowej funkcji.
Wartość zwracana
Typ: CodeFunction
Obiekt CodeFunction.
Uwagi
Macierzysty Visual C++ wymaga formatu oddzielone dwukropkiem (:) dla jego nazwy typu pełni kwalifikowana.Inne języki obsługuje format oddzielonych od siebie kropkami.
Poprawności argumentów jest określana przez język za model kodu.
[!UWAGA]
Wartości elementów modelu kodu, takich jak klasy, strukturach, funkcje, atrybuty, delegatów i tak dalej mogą być deterministyczny po dokonaniu niektórych rodzajów modyfikacji, co oznacza, że ich wartości nie mogą być powoływane do zawsze pozostają takie same.Aby uzyskać więcej informacji, zobacz sekcję wartości elementu modelu kod można zmienić w Odnajdowanie kodu za pomocą modelu kodu (Visual Basic).
Przykłady
[Visual Basic]
Sub AddFunctionExample2(ByVal dte As DTE2)
' Before running this example, open a code document from a project
' and place the insertion point inside a class definition.
Try
' Retrieve the CodeClass at the insertion point.
Dim sel As TextSelection = _
CType(dte.ActiveDocument.Selection, TextSelection)
Dim cls As CodeClass = _
CType(sel.ActivePoint.CodeElement( _
vsCMElement.vsCMElementClass), CodeClass)
' Create a new member function.
cls.AddFunction("TestFunction", _
vsCMFunction.vsCMFunctionFunction, _
vsCMTypeRef.vsCMTypeRefInt)
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
[C#]
public void AddFunctionExample2(DTE2 dte)
{
// Before running this example, open a code document from a project
// and place the insertion point inside a class definition.
try
{
// Retrieve the CodeClass at the insertion point.
TextSelection sel =
(TextSelection)dte.ActiveDocument.Selection;
CodeClass cls =
(CodeClass)sel.ActivePoint.get_CodeElement(
vsCMElement.vsCMElementClass);
// Create a new member function.
cls.AddFunction("TestFunction",
vsCMFunction.vsCMFunctionFunction,
vsCMTypeRef.vsCMTypeRefInt, -1,
vsCMAccess.vsCMAccessDefault, null);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Zabezpieczenia programu .NET Framework
- Pełne zaufanie do bezpośredniego wywołującego. Tego elementu członkowskiego nie można używać w kodzie częściowo zaufanym. Aby uzyskać więcej informacji, zobacz Używanie bibliotek pochodzących z częściowo zaufanego kodu.
Zobacz też
Informacje
Inne zasoby
Porady: kompilowanie i uruchamianie kodu modelu obiektów automatyzacji — przykłady