IInstantSource 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供目前瞬間的存取權。
[Android.Runtime.Register("java/time/InstantSource", "", "Java.Time.IInstantSourceInvoker", ApiSince=34)]
public interface IInstantSource : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("java/time/InstantSource", "", "Java.Time.IInstantSourceInvoker", ApiSince=34)>]
type IInstantSource = interface
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 衍生
- 屬性
- 實作
備註
提供目前瞬間的存取權。
此介面的實例可用來存取目前瞬間的插入式表示。 例如,可以使用 InstantSource
,而不是 System#currentTimeMillis()
。
這個抽象概念的主要目的是允許替代的立即來源在需要時插入。 應用程式會使用 物件來取得目前的時間,而不是靜態方法。 這可以簡化測試。
因此,此介面不保證結果實際上代表時間線上目前的瞬間。 相反地,它可讓應用程式提供目前瞬間的受控制檢視。
應用程式的最佳做法是將 傳遞 InstantSource
至任何需要目前立即的方法。 相依性插入架構是達成此目的的其中一種方式:
public class MyBean {
private InstantSource source; // dependency inject
...
public void process(Instant endInstant) {
if (source.instant().isAfter(endInstant) {
...
}
}
}
此方法可讓替代來源,例如 #fixed(Instant) fixed
或在 #offset(InstantSource, Duration) offset
測試期間使用 。
system
Factory 方法會根據最佳的系統時鐘提供來源。 如果有可用的時鐘,可能會使用 System#currentTimeMillis()
, 或更高的解析度時鐘。
已在17中新增。
的 java.time.InstantSource
Java 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。
屬性
Handle |
取得基礎 Android 物件的 JNI 值。 (繼承來源 IJavaObject) |
JniIdentityHashCode |
傳回包裝實例的 值 |
JniManagedPeerState |
受控對等的狀態。 (繼承來源 IJavaPeerable) |
JniPeerMembers |
成員存取和調用支援。 (繼承來源 IJavaPeerable) |
PeerReference |
傳 JniObjectReference 回已包裝 Java 物件實例的 。 (繼承來源 IJavaPeerable) |
方法
Disposed() |
處置實例時呼叫。 (繼承來源 IJavaPeerable) |
DisposeUnlessReferenced() |
如果這個實例沒有未完成的參考,則呼叫 |
Finalized() |
實例完成時呼叫。 (繼承來源 IJavaPeerable) |
Fixed(Instant) |
取得一律傳回相同瞬間的來源。 |
Instant() |
取得來源的目前瞬間。 |
Millis() |
取得來源的目前毫秒瞬間。 |
Offset(IInstantSource, Duration) |
取得來源,這個來源會從指定來源傳回已新增指定持續時間的瞬間。 |
SetJniIdentityHashCode(Int32) |
設定所 |
SetJniManagedPeerState(JniManagedPeerStates) |
提供目前瞬間的存取權。 (繼承來源 IJavaPeerable) |
SetPeerReference(JniObjectReference) |
設定所 |
System() |
取得使用最佳系統時鐘傳回目前瞬間的來源。 |
Tick(IInstantSource, Duration) |
取得來源,這個來源會從指定的來源截斷到最接近指定持續時間的瞬間傳回。 |
UnregisterFromRuntime() |
取消註冊此實例,讓運行時間不會從未來的 Java.Interop.JniRuntime+JniValueManager.PeekValue 調用傳回它。 (繼承來源 IJavaPeerable) |
WithZone(ZoneId) |
傳回具有指定時區的時鐘。 |
擴充方法
JavaCast<TResult>(IJavaObject) |
執行 Android 執行時間檢查的類型轉換。 |
JavaCast<TResult>(IJavaObject) |
提供目前瞬間的存取權。 |
GetJniTypeName(IJavaPeerable) |
提供目前瞬間的存取權。 |