答案 0 :(得分:3)
函数ListBox
具有外部链接,因为它是全局的而未声明public partial class Form1 : Form {
private List<string> linesInFile;
public Form1() {
InitializeComponent();
File.WriteAllLines( "Lines.txt", new string[] { "1", "2", "3" } );
this.linesInFile = File.ReadAllLines( "Lines.txt" ).ToList();
this.listBox1.DataSource = this.linesInFile;
}
private void Remove_Click(object sender, EventArgs e) {
this.linesInFile.Remove( "1" );
File.WriteAllLines( "Lines.txt", this.linesInFile );
this.listBox1.DataSource = null;
this.listBox1.DataSource = this.linesInFile;
}
}
。函数的链接并不取决于参数。
foo
具有内部联系这一事实意味着无法从另一个翻译单元调用static
,因为无法在其他翻译单元中声明A
,因为无法写出foo
参数类型的名称。任何在另一个翻译单元中定义foo
的尝试实际上都会定义不同的类型。
因此,虽然名称foo
在技术上具有外部链接,但实际上其他翻译单元无法引用它。