只有在設置了該值之後,get set屬性才返回該值。我已經使用了反應式庫並訂閱了它在不同線程上運行的消息。當事件發生並設置了值時,捕獲該值並返回。只有當它被設置時才獲取字符串值c#
internal PinMessage()
{
obj.PinsAvailable.ObserveOn(SynchronizationContext.Current).Subscribe(HandlePinsAvailable);
}
private void HandlePinsAvailable(byte[] pinBytes)
{
pinmesssage = Encoding.ASCII.GetString(pinBytes);
}
public void Readvalue(object stringobj)
{
pinmesssage = (string)stringobj;
}
internal string GetPinMessage(string AccoutNumber)
{
string pinstring = string.Empty;
obj.SendPinRequest(AccoutNumber);
t1.Join();
pinstring = pinmesssage;
return pinstring;
}
private string _pinMessafe;
public string pinmesssage
{
get
{
//Get value only when the property is set
return _pinMessafe;
}
set { _pinMessafe = value; }
}
什麼問題? – paqogomez
如果它是一個字符串,只需檢查'_pinMessafe'是否爲空/空,並且只有返回false。 – tnw
@tnw假設你檢查了它並且它不是null,並且在你返回它之前,不同的線程將它設置爲null。 – I4V