在WPF應用程序我有對象,從自定義控制導出:C#投一個字符串對象
...
<MyNamespace:MyCustControl x:Name="x4y3" />
<MyNamespace:MyCustControl x:Name="x4y4" />
...
我可以參考這些目的,使用名稱:
x4y4.IsSelected = true;
而且,這種功能效果很好:
public void StControls(MyCustControl sname)
{
...
sname.IsSelected = true;
...
}
....
StControls(x4y3);
但是我想在調用這個方法時使用一個字符串來引用一個對象。像這樣(但不工作):
MyCustControl sc = new MyCustControl();
string strSc = "x1y10";
sc.Name = strSc;
StControls(sc); // nothing's happening
而這樣一來,即使不能編譯:
MyCustControl sc = new MyCustControl();
string strSc = "x1y10";
sc = (MyCustControl) strSc; // Cannot convert type string to MyCustControl
StControls(sc);
如何使用string
變量與對象來操作(即它轉換爲對象)?
此代碼提供了一個運行時錯誤:「未設置爲一個對象的實例對象引用」。並且:「使用NEW關鍵字創建對象實例」。我試圖使用NEW關鍵字 - 但它沒有幫助。它可能是什麼? – rem 2010-01-06 13:59:45
@rem:你在XAML中有一個名爲「x1y10」的控件? – AnthonyWJones 2010-01-06 14:02:16
@rem:該錯誤在示例行中沒有意義。除'this'之外,沒有對象引用,但不正確的使用會導致編譯時錯誤。很可能'sc'變量被設置爲'null',因爲找不到該控件,並且當您稍後嘗試在代碼中訪問該控件時發生異常。 – Thorarin 2010-01-06 14:04:13