我需要根据用户的国家/地区格式化银行帐号。因此,不是每次都需要值传递位置,例如:
<receiver
android:name=".GCMBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<!-- Receives the actual messages. -->
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<!-- Receives the registration id. -->
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="your_package" />
</intent-filter>
</receiver>
<service android:name=".GCMIntentService" />
</application>
<!-- GCM connects to Internet Services. -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- GCM requires a Google account. -->
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<!-- Keeps the processor from sleeping when a message is received. -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<!-- Creates a custom permission so only this app can receive its messages. -->
<permission
android:name="your_package.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="your_package.permission.C2D_MESSAGE" />
<!-- This app has permission to register and receive data message. -->
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<!-- Network State Permissions to detect Internet status -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
我正在考虑创建一个服务,该服务将从用户的会话中读取该位置(我们已定制该位置以存储该位置)。
到目前为止,这就是我所拥有的:
var options = {
url: url,
method: 'POST',
form: {
client_id : clientId,
client_secret : client_secret,
grant_type: 'authorization_code',
redirect_uri: redirect_uri,
code: code
}
};
request(options, function(err,res,body){
console.log(body);
})
然后我就像这样自动连线:
Account.FormatBankAccountNumber("AU", bsb, accountNumber)
所以现在所有需要它的服务都可以注入AccountUtilityService,它会根据用户的会话自动返回格式,而不必指定用户的位置。
这有效,但只是想看看其他人是否有更好的方法来做这个想法?
答案 0 :(得分:3)
我想说转换为字符串时明确指定格式实际上更清楚;事实上.NET Framework在任何地方都可以做到。
同样遵循.NET Framework的约定,我将BankAccount转换为一个类(并且可能包含该帐户的国家/地区),并通过覆盖ToString
方法将格式化责任留给自己,同时提供默认值格式化,如果没有指定。