私は、カスタムクラスにかなり基づいているアプリケーションを持っています。そして、置き換えトークンがあるタイプに基づいてカスタム置換を試みる際に壁を打っています。リフレクションを使用したトークン置換
私は何をしたいですか(下のコードを見てください)には、特定の文字列が与えられ、_tokensオブジェクトをループします。見つかった各トークンについて、TokenReplacementで提供されているオブジェクトのタイプを特定し、ユーザオブジェクトによって提供される同じオブジェクトの値に置き換えます。
これに対する助力やその他のアプローチは非常に高く評価されます。
編集:これは、私にスタックオーバーフローエラーが発生することを忘れています。
private BasicUser BU = new BasicUser();
private readonly List<Token> _tokens = new List<Token>
{
new Token
{
TokenName = "Lan ID",
TokenIdentifier = "<!--LANID-->",
TokenReplacement = this.BU.LanID
},
new Token
{
TokenName = "First Name",
TokenIdentifier = "<!--FirstName-->",
TokenReplacement = new BasicUser().FirstName
},
new Token
{
TokenName = "Last Name",
TokenIdentifier = "<!--LastName-->",
TokenReplacement = new BasicUser().LastName
}
};
public string ReplaceTokens(string Input, string LanID)
{
string OutputString = "";
BasicUser User = GetParticipantInformation(Input);
foreach (var token in _tokens)
{
token.TokenReplacement.GetType();
OutputString = OutputString.Replace(token.TokenName, "Token replacement");
}
return OutputString;
}
何が溢れているか知っていますか?スタックオーバーフローを暗示するような再帰呼び出しや何も表示されません。 – deepee1
重要なものを省略したようです。 'token.TokenReplacement.GetType()'行にはポイントがありません。 'OutputString'は常に空です... –
できるだけ小さな_working_問題の例を提供する必要があります。 –