CodeClass2.RemoveInterface(Object) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从实现的接口的列表中删除一个接口。
public:
void RemoveInterface(System::Object ^ Element);
public:
void RemoveInterface(Platform::Object ^ Element);
void RemoveInterface(winrt::Windows::Foundation::IInspectable const & Element);
[System.Runtime.InteropServices.DispId(71)]
public void RemoveInterface (object Element);
[<System.Runtime.InteropServices.DispId(71)>]
abstract member RemoveInterface : obj -> unit
Public Sub RemoveInterface (Element As Object)
参数
- Element
- Object
必需。 CodeElement集合中的一个或的名称。
实现
- 属性
示例
[Visual Basic]
Sub RemoveInterfaceExample(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)
If MsgBox("Remove all interfaces from " & cls.Name & "?", _
MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
Dim intrface As CodeElement
For Each intrface In cls.ImplementedInterfaces
cls.RemoveInterface(intrface)
Next
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Function ConvertFullName(ByVal cm As CodeModel, _
ByVal fullName As String) As String
' Convert a .NET type name into a C++ type name.
If (cm.Language = CodeModelLanguageConstants.vsCMLanguageVC) Or _
(cm.Language = CodeModelLanguageConstants.vsCMLanguageMC) Then
Return fullName.Replace(".", "::")
Else
Return fullName
End If
End Function
[C#]
public void RemoveInterfaceExample(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);
if (MessageBox.Show("Remove all interfaces from " + cls.Name +
"?", "", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
foreach (CodeInterface intrface in
cls.ImplementedInterfaces)
cls.RemoveInterface(intrface);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
string ConvertFullName(CodeModel cm, string fullName)
{
// Convert a .NET type name into a C++ type name.
if ((cm.Language == CodeModelLanguageConstants.vsCMLanguageVC) ||
(cm.Language == CodeModelLanguageConstants.vsCMLanguageMC))
return fullName.Replace(".", "::");
else
return fullName;
}
注解
从集合中移除代码元素 ImplementedInterfaces 。 元素可以是 CodeElement 集合中的对象,也可以是集合中唯一元素的名称。
备注
在进行了某些类型的编辑之后,代码模型元素(例如类、结构、函数、特性、委托等)的值可能变为非确定性的,这意味着不能确定它们的值始终保持不变。 有关详细信息,请参阅 "代码模型元素值在 使用代码模型查找代码时 可能发生变化" (Visual Basic) "。