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 を渡すことです。 依存関係の挿入フレームワークは、これを実現する 1 つの方法です。
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 ファクトリ メソッドは、使用可能な最適なシステム クロックに基づいてソースを提供します。
System#currentTimeMillis()を使用することも、使用可能な場合は高解像度クロックを使用することもできます。
17 で追加されました。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
プロパティ
| 名前 | 説明 |
|---|---|
| Handle |
基になる Android オブジェクトの JNI 値を取得します。 (継承元 IJavaObject) |
| JniIdentityHashCode |
ラップされたインスタンスの |
| JniManagedPeerState |
マネージド ピアの状態。 (継承元 IJavaPeerable) |
| JniObjectReferenceControlBlock |
現在のインスタントへのアクセスを提供します。 (継承元 IJavaPeerable) |
| JniPeerMembers |
メンバー アクセスと呼び出しのサポート。 (継承元 IJavaPeerable) |
| PeerReference |
ラップされたJava オブジェクト インスタンスのJniObjectReferenceを返します。 (継承元 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) |
指定したタイム ゾーンを持つクロックを返します。 |
拡張メソッド
| 名前 | 説明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
インスタンス |
| JavaAs<TResult>(IJavaPeerable) |
|
| JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
| JavaCast<TResult>(IJavaObject) |
現在のインスタントへのアクセスを提供します。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
|