IVsRefactorNotify Interface
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Avertit les générateurs de code de l'occurrence des opérations de refactorisation.
public interface class IVsRefactorNotify
public interface class IVsRefactorNotify
__interface IVsRefactorNotify
[System.Runtime.InteropServices.Guid("130497E3-5CDB-4F29-9804-A2AF805016D7")]
[System.Runtime.InteropServices.InterfaceType(1)]
public interface IVsRefactorNotify
[<System.Runtime.InteropServices.Guid("130497E3-5CDB-4F29-9804-A2AF805016D7")>]
[<System.Runtime.InteropServices.InterfaceType(1)>]
type IVsRefactorNotify = interface
Public Interface IVsRefactorNotify
- Attributs
Exemples
L’exemple suivant montre comment utiliser la syntaxe RQName pour décrire les symboles.
System.Collections.Generic;
using System.Text;
namespace ConsoleApplication //1
{
interface ITest<T> //2
{
void MyTest(T t); //3
}
delegate void MyDel(); //4
class Program : ITest<int>
{
const int i = 5; //5
string s; //6
event MyDel e; //7
static void Main(string[] args) //8
{
}
void ITest<int>.MyTest(int t) //9
{
}
int this[int i] { get { return 1; } } //10
}
}
namespace MyTest.Bar.Blank //11
{
}
1: Ns(NsName(ConsoleApplication))
2: Agg(NsName(ConsoleApplication),AggName(ITest,TypeVarCnt(1)))
3: Meth(Agg(NsName(ConsoleApplication),AggName(ITest,TypeVarCnt(1))),
MethName(MyText),TypeVarCnt(0),Params(Param(TyVar(T))))
4: Agg(NsName(ConsoleApplication),AggName(MyDel,TypeVarCnt(0)))
5: Membvar(Agg(NsName(ConsoleApplication),AggName(Program,TypeVarCnt(0))),
MembvarName(i))
6: Membvar(Agg(NsName(ConsoleApplication),AggName(Program,TypeVarCnt(0))),
MembvarName(s))
7: Event(Agg(NsName(ConsoleApplication),AggName(Program,TypeVarCnt(0))),
EventName(e))
8: Meth(Agg(NsName(ConsoleApplication),AggName(Program,TypeVarCnt(0))),
MethName(Main),TypeVarCnt(0),
Params(Param(Array(1,AggType(Agg(NsName(System),
AggName(String,TypeVarCnt(0))),TypeParams())))))
9: Meth(Agg(NsName(ConsoleApplication),AggName(Program,TypeVarCnt(0))),
IntfExplName(AggType(Agg(NsName(ConsoleApplication),
AggName(ITest,TypeVarCnt(1))),TypeParams(AggType(Agg(NsName(System),
AggName(Int32,TypeVarCnt(0))),TypeParams()))),MethName(MyTest)),
10: Prop(Agg(NsName(ConsoleApplication),AggName(Program,TypeVarCnt(0))),
PropName($Item$),TypeVarCnt(0),Params(Param(AggType(Agg(NsName(System),
AggName(Int32,TypeVarCnt(0))),TypeParams()))))
11: Ns(NsName(MyTest),NsName(Bar),NsName(Blank))
Remarques
En implémentant l' IVsRefactorNotify interface, vous fournissez au Visual Studio service de langage la possibilité d’informer les générateurs de code des opérations de refactorisation, telles que le changement de nom symbolique ou la réorganisation des paramètres. Le Visual Studio service de langage identifie le symbole qui est modifié en passant une chaîne à l’aide de Refactor-Qualified nom, RQName, syntaxe. La description de la syntaxe RQName est la suivante :
rq_name := rq_ns | rq_agg | rq_membvar | rq_event | rq_meth | rq_prop
rq_ns := "Ns" "(" rq_sym_name_list ")"
rq_agg := "Agg" "(" rq_sym_name_list ")"
rq_membvar := "Membvar" "(" rq_agg "," rq_sym_name ")"
rq_event := "Event" "(" rq_agg "," rq_sym_name ")"
rq_meth := "Meth" "(" rq_agg "," rq_sym_name "," rq_typevarcount ",
" rq_params ")"
rq_prop := "Prop" "(" rq_agg "," rq_sym_name "," rq_typevarcount ",
" rq_params ")"
rq_params := "Params" "(" rq_param_list ")"
rq_param_list := rq_param |
rq_param "," rq_param_list
rq_param := "Param" "(" rq_type_sig ")"
rq_type_sig := rq_aggtype_sig |
rq_array_sig |
rq_pointer_sig |
rq_param_mod_sig |
rq_typevar_sig |
rq_void_sig |
rq_error_sig |
rq_null_sig
rq_aggtype_sig := "AggType" "(" rq_agg "," rq_typeparams ")"
rq_typeparams := "TypeParams" "(" rq_type_sig_list ")"
rq_type_sig_list := rq_type_sig |
rq_type_sig "," rq_type_sig_list
rq_array_sig := "Array" "(" rq_rank "," rq_type_sig ")"
rq_pointer_sig := "Pointer" "(" rq_type_sig ")"
rq_param_mod_sig := "Ref" "(" rq_type_sig ")" |
"Out" "(" rq_type_sig ")"
rq_typevar_sig := "TyVar" "(" rq_simple_name ")"
rq_void_sig := "Void"
rq_error_sig := "Error" "(" rq_text ")"
rq_null_sig := "Null"
rq_sym_name_list := rq_sym_name |
rq_sym_name "," rq_sym_name_list
rq_sym_name := rq_aggname | rq_nsname | rq_membvarname |
rq_methpropname | rq_intfexplname
rq_nsname := "NsName" "(" rq_simple_name ")"
rq_aggname := "AggName" "(" rq_simple_name "," rq_typevarcount ")"
rq_membvarname := "MembvarName" "(" rq_simple_name ")"
rq_methpropname := rq_methname | rq_propname | rq_eventname
rq_methname := "MethName" "(" rq_simple_name ")"
rq_propname := "PropName" "(" rq_simple_name ")"
rq_eventname := "EventName" "(" rq_simple_name ")"
rq_intfexplname := "IntfExplName"
"(" rq_type_sig "," rq_methpropname ")"
rq_typevarcount := "TypeVarCnt" "(" rq_number ")"
rq_simple_name = rq_text
rq_rank := rq_number
rq_number := [0-9]+
rq_text := [any character except ".", "," "(" and ")"]